通过配置hosts.allow和hosts.deny文件允许或禁止ssh或telnet操作

Posted linuxandy

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了通过配置hosts.allow和hosts.deny文件允许或禁止ssh或telnet操作相关的知识,希望对你有一定的参考价值。

su root

 

2编缉/etc/hosts.allow文件

vi /etc/hosts.allow 

允许内容

书写格式(改成自自需要的IP或IP段)

ssh允许单个ip

sshd : 192.168.220.1

ssh允许ip段

sshd :192.168.220.  or   sshd : 192.168.1.0/255.255.255.0

telnet允许单个ip

in.telnetd :192.168.220.1

telnet允许ip段

in.telnetd :192.168.221.      or  in.telnetd : 192.168.1.0/255.255.255.0

 

 

 

 

 

 

 

 

 

 

以ssh允许192.168.220.1和telnet允许192.168.220网段为例,具体在/etc/hosts.allow加入内容如下:

 技术图片

 sshd : 192.168.0.0/255.255.255.0

in.telnet : 192.168.1.0/255.255.255.0

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

vi /etc/hosts.deny

在文件中加入:

sshd:ALL
in.telnetd:ALL

具体在/etc/hosts.deny加入内容如下:

技术图片

 

4、保存文件退出编缉后,重启ssh服务telnet服务可选

service sshd  restart
service  xinetd  restart

技术图片

 

说明:

1.一个IP请求连入,linux的检查策略是先看/etc/hosts.allow中是否允许,如果允许直接放行;如果没有,则再看/etc/hosts.deny中是否禁止,如果禁止那么就禁止连入。

2.实验发现对/etc/hosts.allow和/etc/hosts.deny的配置不用重启就立即生效,但不管重启不重启当前已有会话都不会受影响;也就是说对之前已经连入的,即便IP已配置为禁止登录会话仍不会强制断开。不过不知是否所有linux都一样,由此第四步标为可选。

3.网上发现有些教程写成不是sshd而是in.sshd不是in.telnetd而是telnetd的,个人觉得应该是独立启的不用加in.托管于xinetd的需要加in.

以上是关于通过配置hosts.allow和hosts.deny文件允许或禁止ssh或telnet操作的主要内容,如果未能解决你的问题,请参考以下文章

【TCP Wrappers】关于/etc/hosts.allow /etc/hosts.deny

使用/etc/hosts.allow和/etc/hosts.deny设置SSH白(黑)名单

Linux服务器允许和限制访问

Linux中hosts.allow与hosts.deny

hosts.allow和hosts.deny支持哪些服务

linux限制ssh之查看登录指令