怎样设置允许或禁止用户/IP通过SSH方式连接云服务器
操作场景
本节操作指导用户设置允许或禁止用户/IP通过SSH方式连接云服务器。
约束与限制
- 已安装Denyhosts插件。
- 该文档中操作涉及重启sshd服务,请在合理的时间进行操作。
方法一:通过编辑sshd配置文件实现允许或者禁止指定用户/用户组或者IP登录
- 允许指定用户进行登录(白名单)
在/etc/ssh/sshd_config 配置文件中设置AllowUsers选项,在配置文件末尾添加行格式如下(例如允许用户test通过192.168.1.2登录)。
AllowUsers test@192.168.1.2
配置了指定用户或者用户组允许登录后,默认拒绝其他所有用户或者用户组。
- 禁止指定用户登录(黑名单)
在 /etc/ssh/sshd_config 配置文件中设置DenyUsers选项,在配置文件末尾添加行格式如下(例如禁止用户testuser登录)。
DenyUsers testuser
上述修改需要重启sshd服务。
CentOS 6系列执行以下命令进行重启:
service sshd restart
Centos 7/EulerOS系列执行以下命令进行重启:
systemctl restart sshd
方法二:使用DenyHosts允许或者禁止指定IP通过SSH登录
linux 服务器通过设置 /etc/hosts.allow 和 /etc/hosts.deny 这个两个文件,可以限制或者允许某个或者某段IP地址远程SSH登录服务器.方法比较简单,具体如下:
- 允许192.168.1.3 这个IP地址ssh登录,打开/etc/hosts.allow,添加如下行:
sshd: 192.168.1.3
- 禁止所有ip通过ssh登录,打开/etc/hosts.deny,添加如下行:
sshd:ALL
hosts.allow 和hosts.deny 两个文件同时设置规则的时候,hosts.allow 文件中的规则优先级高,假设按照上述方法设置后服务器只允许192.168.1.3这个IP地址的SSH登录,其它的 IP 都会拒绝。