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

192.168.1.135

示例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能正常登录

192.168.1.135不能正常登录

示例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不能正常登录

192.168.1.135能正常登录

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

# vim /etc/ssh/sshd_config最后一行加入

AllowUsers keyso@192.168.0.222 root@192.168.1.135   //多个用户名@IP之间使用空格分隔

# service sshd restart
192.168.0.222以默认的root用户身份不能正常登录

192.168.0.222以keyso用户身份能正常登录

192.168.1.135以默认的root用户身份能正常登录

原文来自:http://www.linuxidc.com/Linux/2017-10/147255.htm

本文地址:http://www.linuxprobe.com/centos-ssh-ip-user.html编辑:冯振华,审核员:逄增宝