当前位置: > Linux服务器 > SSH >

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

时间:2014-10-05 23:15来源:linux.it.net.cn 作者:it
需求:需要用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
在起效果机器下,执行如下命令:
[root@zt ~]# ldd /usr/sbin/sshd | grep libwrap.so
        libwrap.so.0 => /lib64/libwrap.so.0 (0x00002ba28edcc000)
在不起效果机器下,却找不到libwrap.so
在生效的机器上执行:
 
rpm -qf /lib64/libwrap.so.0  结果如下:
 
tcp_wrappers-7.6-40.7.el5
在不生效的机器上
yum install -y tcp_wrappers
安装后,用ldd /usr/sbin/sshd | grep libwrap.so   还是没有内容
 
在不生效机器上,继续
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
(责任编辑:IT)
------分隔线----------------------------