Linux系统服务器通过设置hosts.allow与hosts.deny这两个配置文件控制外部IP对本机服务的访问,hosts.allow控制可以访问本机的IP地址,hosts.deny控制禁止访问本机的IP。配置完成之后是实时生效的。这种方法是最简单的,但是有几率不成功,临时使用是可以的。长期的话建议还是使用iptables,
假设现在需要只允许192.168.5.1这个管理员ip通过ssh服务登录我的主机,拒绝其他的ip
具体操作如下:
系统版本是centos7.9
1、首先打开/etc/hosts.allow添加
vi /etc/hosts.allow
sshd:192.168.5.1:allow #允许192.168.5.1这个ip地址ssh登录,不要在前面加#号,不然会不生效,系统会当成是注释。
2、然后在etc/hosts.deny添加
vi /etc/hosts.deny
sshd:ALL #拒绝全部ip,ALL的意思是全部。
3、修改allow和deny是立即生效的,所以不需要再重启sshd,我们直接进行验证
现在其他机器已经无法连接主机了
必须得ip是192.168.5.1的才能连接
注意:hosts.allow优先级高于hosts.deny,系统会先检查allow,然后再检查deny。
所以如果allow中拒绝的ip也在deny中出现的话,还是会允许的。
其他的配置方式
允许192.168.5.0/24这段ip地址的用户登录
sshd:192.168.5.*:allow
如果需要允许,多个网段可以以逗号隔开,
比如192.168.0.,192.168.1.:allow
sshd也可以换成其他服务:例如telnetd、httpd等等。
文章来源:https://www.cnaaa.net,转载请注明出处:https://www.cnaaa.net/archives/5872