怎样允许或禁止用户/IP通过SSH方式连接服务器

方法一:通过编辑sshd配置文件实现允许或者禁止指定用户/用户组或者IP登录

  1. 允许指定用户进行登录(白名单)

在/etc/ssh/sshd_config配置文件中设置AllowUsers选项,在配置文件末尾添加行格式如下(例如允许用户test通过192.168.1.2登录)。

AllowUsers test@192.168.1.2

说明:配置了指定用户或者用户组允许登录后,默认拒绝其他所有用户或者用户组。

  1. 禁止指定用户登录(黑名单)

在/etc/ssh/sshd_config配置文件中设置DenyUsers选项,在配置文件末尾添加行格式如下(例如禁止用户testuser登录)。

DenyUsers testuser

上述修改需要重启sshd服务。

# systemctl restart sshd

方法二:使用DenyHosts允许或者禁止指定IP通过SSH登录

linux服务器通过设置/etc/hosts.allow和/etc/hosts.deny这个两个文件,可以限制或者允许某个或者某段IP地址远程SSH登录服务器.方法比较简单,具体如下:

  1. 允许192.168.1.3这个IP地址ssh登录,打开/etc/hosts.allow,添加如下行:

sshd: 192.168.1.3

  1. 禁止所有ip通过ssh登录,打开/etc/hosts.deny,添加如下行:

sshd:ALL

说明:hosts.allow和hosts.deny两个文件同时设置规则的时候,hosts.allow文件中的规则优先级高,假设按照上述方法设置后服务器只允许192.168.1.3这个IP地址的SSH登录,其它的IP都会拒绝。