CentOS 下SSH限制IP和用户登录
2024年02月29日
70
CentOS 下设置SSH只允许特定用户从特定的IP登录,其它未经允许的用户和IP都不能登录。

CentOS 下设置SSH只允许特定用户从特定的IP登录,其它未经允许的用户和IP都不能登录。

演示环境

192.168.1.81:CentOS 6

192.168.0.222:Win 10

192.168.1.135:Win 8.1

未做任何设置时192.168.0.222和192.168.1.135都能登录192.168.1.81。
192.168.0.222
image.png192.168.1.135
image.png

示例1:只允许192.168.0.222登录192.168.1.81

# vim /etc/hosts.allow最后一行加入:
sshd:192.168.0.222:allow //多个IP可以按照此格式写多行
# vim /etc/hosts.deny最后一行加入:
sshd:ALL //除了上面允许登录的IP,其它IP都拒绝登录
# service sshd restart

192.168.0.222能正常登录
image.png192.168.1.135不能正常登录
image.png

示例2:只允许192.168.1网段的主机登录192.168.1.81

# vim /etc/hosts.allow最后一行加入
sshd:192.168.1.*:allow

# vim /etc/hosts.deny最后一行加入:
sshd:ALL

# service sshd restart
192.168.0.222不能正常登录
image.png192.168.1.135能正常登录
image.png

示例3:只允许192.168.0.222以keyso用户身份、192.168.1.135以root用户身份登录192.168.1.81

# vim /etc/ssh/sshd_config最后一行加入
AllowUsers [email protected] [email protected] //多个用户名@IP之间使用空格分隔

# service sshd restart
192.168.0.222以默认的root用户身份不能正常登录
image.png192.168.0.222以keyso用户身份能正常登录
image.png192.168.1.135以默认的root用户身份能正常登录
image.png