我想阻止来自特定 IP 地址的 ssh 连接。例如:我的系统 IP 地址是 192.168.8.20,另外两个系统是 192.168.8.11 和 192.168.8.12,我想阻止 8.12 的 ssh 连接,但我想从 192.168.8.11 登录。等等。
我怎样才能做到这一点?
答案1
最简单、最好的解决方案是“使用你正在使用的任何防火墙”。只需阻止 192.168.8.12 对端口 22 的访问(或明确仅允许 192.168.8.11 访问)。
如果您目前没有设置防火墙,那么您可能需要查看iptables
,它是 Linux 内核的一部分。这里有一个教程。它还有相当多的 GUI 界面。
您要执行上述操作的具体命令是:
# iptables -A INPUT -p tcp --dport ssh -s 192.168.8.12 -j DROP
INPUT
这将为针对您的ssh
端口 (22) 的 TCP 流量(来自 192.168.8.12)添加一条规则并将其丢弃。
答案2
如果您安装了 tcpwrappers,那么您可以将条目放入 hosts.deny。请阅读 hosts.deny 的手册页以了解详细信息。