CentOS下ssh登录限制ip的方法

Posted by Azrael on September 13, 2016

CentOS下ssh登录限制ip的方法 及 etc-hosts.allow 和-etc-hosts.deny 详解

/etc/hosts.allow(允许)和/etc/hosts.deny(禁止)这两个文件是tcpd服务器的配置文件。 是控制远程访问设置的,通过他可以允许或者拒绝某个ip或者ip段的客户访问linux的某项服务。

比如SSH服务,我们通常只对管理员开放,那我们就可以禁用不必要的IP,而只开放管理员可能使用到的IP段

方法一:

修改 /etc/hosts.allow 文件

vi /etc/hosts.allow

添加如下语句:

sshd:192.168.0.251:allow
sshd:222.77.15.*:allow

以上写法,第一条表示允许单个IP,第二条表示允许222这个ip段连接sshd服务(需要hosts.deny这个文件配合使用),

当然:allow完全可以省略的。

/etc/hosts.deny 文件,此文件是拒绝服务列表。

添加如下语句:

sshd:all:deny

语句 sshd:all:deny 表示拒绝了所有sshd远程连接。:deny可以省略。

注意修改完后:

service xinetd restart

才能让刚才的更改生效。

注:当hosts.allow和 host.deny相冲突时,以hosts.allow设置为准。

方法二:

sshd:all:deny

也完全可以直接写在 /etc/hosts.allow 里面,比如:

 sshd:192.168.0.251:allow
 sshd:222.77.15.*:allow
 sshd:all:deny

这样就只需要修改一个配置文件,更加简洁,个人更推荐这种方式。

此方法同样可引申到 Vfstpd 服务,

/etc/hosts.allow 文件添加如下语句:

vsftpd:192.168.0.251:allow
vsftpd:222.77.15.*:allow
vsftpd:all:deny