我正在尝试一些 ssh 技巧并且被困在服务器上。
有没有办法让 sshhosts.deny
先读取hosts.allow
?
答案1
基于hosts.deny
和的访问控制hosts.allow
由 TCP 包装器库 ( ) 提供libwrap0
。其文件内容如下README
:
包装器程序与客户端用户(或客户端进程)没有交互。包装器也不与服务器应用程序交互。这有两个主要优点:1)包装器独立于应用程序,因此同一个程序可以保护多种网络服务;2)没有交互也意味着包装器从外部是不可见的(至少对于授权用户而言)。
另请查看hosts_access手册页:
ACCESS CONTROL FILES The access control software consults two files. The search stops at the first match: · Access will be granted when a (daemon,client) pair matches an entry in the /etc/hosts.allow file. · Otherwise, access will be denied when a (daemon,client) pair matches an entry in the /etc/hosts.deny file. · Otherwise, access will be granted.
因此,除非您编译自定义版本libwrap0
,否则无法改变其当前行为。
答案2
据我所知,如果 /etc/hosts.deny 和 /etc/hosts.allow 上都有同一个 IP,那么访问权限将被授予。要强制拒绝,您应该确保添加到 /etc/hosts.deny 的脚本确实从 /etc/hosts.allow 中删除了 IP。