hosts.deny 和hosts.allow 配置不生效

需求:需要用hosts.deny限制用户通过ssh登录

在/etc/hosts.deny中加入
sshd: all
在/etc/hosts.allow中加入
sshd:all #拒绝所有的ip链接ssh服务
在其他服务器上尝试链接该服务器,却发现还是正常链接
 
/etc/hosts.allow 与 /etc/hosts.deny 只对调用了 tcp_wrappers  的才起作用。
若是源代码编译的,看看编译时是否寻找了 libwrap.so
1、在起效果机器下,执行如下命令:
[root@zt ~]# ldd /usr/sbin/sshd | grep libwrap.so
        libwrap.so.0 => /lib64/libwrap.so.0 (0x00002ba28edcc000)
 
2、在不起效果机器下,却找不到libwrap.so
 
3、在生效的机器上执行:
rpm -qf /lib64/libwrap.so.0  结果如下:
      tcp_wrappers-7.6-40.7.el5
 
4、在不生效的机器上
yum install -y tcp_wrappers
安装后,用ldd /usr/sbin/sshd | grep libwrap.so   还是没有内容
 
5、在不生效机器上,继续
yum list |grep openssh   结果:
openssh.x86_64                          5.3p2-24.el5           installed
openssh-clients.x86_64                   5.3p2-24.el5           installed
openssh-server.x86_64                    5.3p2-24.el5           installed
openssh.x86_64                           5.3p2-41.el5_5.1       updates
openssh-askpass.x86_64                   5.3p2-41.el5_5.1       updates
openssh-clients.x86_64                   5.3p2-41.el5_5.1       updates
openssh-server.x86_64                    5.3p2-41.el5_5.1       updates
 
于是,执行:
 
yum update -y openssh 
再次执行:
ldd /usr/sbin/sshd | grep libwrap.so
 
有结果显示了。
别的服务器链接该服务器,也会报下面的错误
 
ssh_exchange_identification: Connection closed by remote host

hosts.deny 和hosts.allow 配置

一、vim /etc/ssh/sshd_config 

二、输入:110G 寻址到110行

三、把#UsePrivilegeSeparation sandbox ,注释掉

四、升级OpenSSH,yum update -y openssh 

五、修改TCP Wrappers策略,cat /etc/hosts.allow

ssh:IP

六、修改TCP Wrappers策略,cat /etc/hosts.deny

ssh:ALL

七、重启sshd进程,service sshd restart

原文地址:https://www.cnblogs.com/fatt/p/4463585.html