有某些域指向我的服务器。
# example.com
example.com goes to 20.20.20.20
我想拒绝使用此域名的 ssh 访问。我希望我的服务器只接受20.20.20.20
.我该如何配置这个?
我尝试过的
# /etc/ssh/sshd_config
UseDNS no
例子:
如果 user1 连接到 20.20.20.20 那么它应该显示登录信息,否则它应该删除所有连接。
我使用的是 Debian 发行版。
答案1
你不能。你问的问题在 SSH 中是不可能的。
这在 HTTP 中是可能的,因为 HTTP/1.1 发送一个Host
标头来告诉服务器要连接到哪个(虚拟)主机。 SSH 不发送此类字段。您可以使用 Wireshark 网络协议解析器来查看这一点。
如果可以做到这一点,显然它不会提供任何额外的安全性。
请简要描述为什么您正在尝试执行给定的任务(我认为 StackExchange 建议这样做)。我不会说如果没有建设性的解释,你往往会得到令人讨厌的堆积。 (嗯。鉴于此:如果您总体上考虑 SSH 强化,一个常见且可靠的解决方案是拒绝密码登录,而是使用存储在计算机上的 SSH 密钥)。