为什么 ssh 中的主机名查找返回不同的结果?

为什么 ssh 中的主机名查找返回不同的结果?

我有一台有两个 IP 的机器,

Something like this, (/etc/hosts)

10.204.65.18    blahdb01.us.oracle.com blahdb01
10.204.63.56    blah01.us.oracle.com   blah01

现在,每当我这样做的时候,

ssh blah01

它会自动连接到,

blahdb01

现在我想知道这种行为在哪里发生。如果我想停止这种行为...我只想将 blah01 映射到 blah01...可以做什么?

答案1

首先检查~/.ssh/config文件,看看是否有任何Hostname行导致此问题。然后,尝试使用dignslookupon blah01,看看是否显示任何有趣的内容。

请注意,/etc/nsswitch.conf可以用来改变机器进行名称解析的方式,因此您也应该检查这一点。

最后,可以使用类似这样的工具strace来检查您正在使用的程序如何尝试打开和读取文件以进行名称解析。例如:

strace -eopen,read -f -o /tmp/ssh-strace.txt ssh blah01

然后查看/tmp/ssh-strace.txt其中是否有关于哪些文件正在被打开和读取的有趣信息 - 这可能会为所遵循的路径提供线索。

答案2

检查/etc/resolv.conf- 您可能有一个“搜索”行,它将自动使用该行完成操作。

相关内容