hosts.allow、hosts.deny配置不生效的解决方法

通过配置hosts.allow、hosts.deny,控制SSH限制固定IP登陆

按照以往的方法,分别在hosts.allow、hosts.deny加入以下配置

# more /etc/hosts.allow

sshd:192.168.x.x

# more /etc/hosts.deny

sshd:all

保存后测试,发现配置无效,其他IP还是可以登陆成功。

解决方法如下:

hosts.allow和hosts.deny属于tcp_Wrappers防火墙的配置文件,而用tcp_Wrappers防火墙控制某一服务访问策略的前提是,该服务支持tcp_Wrappers防火墙,即该服务应用了libwrapped库文件。

查看某服务(如ssh)是否应用了libwrapped库文件的方法是:

$ ldd /usr/sbin/sshd |grep libwrap.so.0

没有显示,表示此服务器上安装的SSH没有应用libwrapped库文件,也就不能用tcp_Wrappers防火墙控制访问策略。(一般情况下服务器默认安装的SSH都是支持libwrapped库文件,这台服务器不清楚为什么不支持)

最终解决方法是重新安装SSH。

$ yum -y remove openssh

$ yum -y install openssh

$ yum -y install openssh-server

安装完成后再次查看是否应用了libwrapped库文件,显示支持。

$ ldd /usr/sbin/sshd |grep libwrap.so.0
	libwrap.so.0 => /lib/x86_64-linux-gnu/libwrap.so.0 (0x00007f195feb4000)

再测试SSH登陆,配置生效。

参考链接


hosts.allow、hosts.deny配置不生效的解决方法

发布者

《hosts.allow、hosts.deny配置不生效的解决方法》上有1条评论

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注