-p
由于忘记使用:
符号来指定要连接的 ssh 端口,因此我运行了以下命令
ssh myserver.biz:55555
当一个不属于我的服务器的IP明显被解析时,我意识到了我的错误。
The authenticity of host 'myserver.biz:55555 (not.my.ip.add)' can't be established...
显然我很快就拒绝继续连接这台我不认识的机器。
有什么想法可能导致这种情况吗?正确连接该-p
选项可以正确解析地址,但我真的很好奇:
在主机名中使用时会发生什么。
答案1
OpenSSH 正在传递整个主机名以解析您的系统 DNS 解析器。有效的主机名不应包含冒号,但如果您的 DNS 使用有效的 IP 地址响应您的请求,SSH 会尝试在那里连接。如果没有您尝试的真实名称,很难猜测发生了什么。
答案2
在@Jakuje 和@Kenster 的帮助下,我确定我的 ISP 存在某种形式的“DNS劫持“已启用。
OpenSSH 传递了完整的主机名参数(带冒号)以供解析。显然,包含冒号的主机名是无效的,因此NXDOMAIN
DNS 服务器没有正确地响应 ,而是响应了他们认为有用的提示,即在端口 80 上有一个 Web 服务器的服务器的 IP 地址,以显示搜索页面(他们无疑会从中获得广告收入)。