Linux中只允许某个特定的ip地址或ip段访问22端口
-
想必大家看到标题,想到限制,第一方法肯定是防火墙,如下我来进行防火墙规则的尝试。环境用的是CentOS7.4
#限制ip为192.168.137.12的地址禁止访问80端口 firewall-cmd --permanent --add-rich-rule="rule family="ipv4" source address="192.168.137.12" port protocol="tcp" port="80" reject"
可是这样的话,如果端口改为22 ,会发现,没有生效
感觉是因为,Firewall防火墙默认是不拦截ssh的
又各种尝试了下,无果 -
下面介绍第二种方法,采用配置sshd服务的方法来达到限制效果
只允许指定的用户登录
#进入sshd配置文件 vim /etc/ssh/sshd_config AllowUsers *@*.test.com root@192.168.137.34 #可以 *@192.168.137.* 表示137段的所有用户允许登录 #也可以 *@主机名 的方式,前提是此机器可以将该主机名解析到对应的地址 systemctl restart sshd #重启服务
只禁止指定的用户登录
将上面的 AllowUsers 改为 DenyUsers 即可
只允许或只禁止采用一种即可,只允许默认其他的就都是禁止的
有兴趣的,自己先去虚拟机尝试,以免发生不必要的麻烦。