Linux 限制用户远程SSH登录

时间:2023-03-10 07:27:06
Linux 限制用户远程SSH登录

   通过/etc/hosts.allow和/etc/hosts.deny两个配置文件远程限制某个IP和某段IP地址允许或拒绝访问Linux服务器

SSH、FTP、telnet等服务,其中/etc/hosts.allow表示允许访问的IP,/etc/hosts/deny表示拒绝访问的IP。

   hosts.allow和hosts.deny属于tcp_Wrappers防火墙的配置文件,而用tcp_Wrappers防火墙控制某一服务访问策

略的前提是,该服务支持tcp_Wrappers防火墙,即该服务应用了libwrapped库文件。

可以通过以下命令查看SSH是否应用了libwrapped库文件:

#如果有显示下面libwrap.so.0就表示SSH应用了libwrapped库文件,如果没有显示就表示SSH没用应用了

libwrapped库文件,可以重装SSH可以解决。

[root@VMredhat6 etc]# ldd /usr/sbin/sshd | grep libwrap   

libwrap.so.0 => /lib64/libwrap.so.0 (0x00007f9e49a2b000)

[root@VMredhat6 ~]# vim /etc/hosts.allow

Linux 限制用户远程SSH登录

[root@VMredhat6 ~]# vim /etc/hosts.deny

Linux 限制用户远程SSH登录

标注:

1.一个IP请求连入,linux服务器首先检查策略/etc/hosts.allow中是否允许,如果允许直接放行;如果没有,则再看/etc/hosts.deny中是否禁止,如果禁止那么就禁止连入。一般hosts.allow设置IP允许,hosts.deny则需要设置其它IP禁止登s录。

2.实操CentOS发现修改/etc/hosts.allow和/etc/hosts.deny配置不用重启就立即生效,但不管重启不重启当前已有会话都不会受影响;也就是说对之前已经连入的,即便IP已配置为禁止登录会话仍不会强制断开。但不确定其它版本Linux会不会这样子。

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