SSH 如何仅根据名称找到目的地?

SSH 如何仅根据名称找到目的地?

obiwan我遇到一个奇怪的情况,只需运行即可连接到名为 的远程主机ssh cip@obiwan。我不明白 SSH 如何知道obiwan对应的内容。

在我的 中,/etc/hosts我没有任何与 相关的条目obiwan。保证!我有 3 行,分别是不是欧比旺,以及这些已经存在的:

127.0.0.1       localhost
255.255.255.255 broadcasthost
::1             localhost

我以为它可能来自 ssh 配置,但我可以运行\ssh -v -F none cip@obiwan它并且它工作正常。因此没有配置文件,还请注意反斜杠,这意味着没有考虑别名/函数。

如果我尝试ping obiwan,我会得到cannot resolve obiwan: Unknown host。但有趣的是,当我执行 时,我会获得制表符补全ping obi<tab>。所以某个地方的某些东西知道这件事......

如果我dig obiwan没有得到任何东西ANSWER SECTION

我怎样才能弄清楚为什么这样做有效?

谢谢 !

答案1

事实证明,我的流量通过 SOCKS 代理转发到同一网络上的另一台服务器。该服务器的obiwan中有/etc/hosts,因此我相信由于这种组合,我的 SSH 可以找到目的地obiwan

关闭 SOCKS 代理后,ssh -F none obiwan不再起作用,无法解析主机名obiwan,正如预期的那样。

仍有obiwan.company.li可以 ping 的,就像 user1695 在评论中建议的那样。但我不确定这是否有任何贡献。

相关内容