1、登陆主机,如果是普通账号先切换至root账号

su root

2、编辑/etc/host.allow文件

vim /etc/hosts.allow

#允许内容 书写格式
ssh允许单个ip sshd:192.168.0.1
ssh允许ip段 sshd:192.168.0.
telnet允许单个ip in.telnetd:192.168.0.1
telnet允许ip段 in.telnetd:192.168.0.

3、编辑/etc/host.deny文件

vim /etc/hosts.deny

#与上面的无疑,对要求安全性高的场合,如:仅允许指定IP登陆,其余一律禁止可这样设置:
sshh:all

4、理论上即实时生效,若发现策略不生效时……

插个基本知识点:当非授权访问ip尝试连接该服务器,却发现还是能正常访问时,请参考以下操作:

若是源代码编译的,看看编译时是否寻找了 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,假如看到有updates字样,执行 yum update -y openssh  更新一下版本即可。

再次执行:ldd /usr/sbin/sshd | grep libwrap.so 查看结果,现在应该有啦(生效)。

假如还不行,重启一下进程:service sshd restart