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

我有一台机器有两个ips,

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 …可以做什么?

首先检查你的~/.ssh/config文件,看看你是否有任何Hostname行导致这个。 然后,尝试在blah01上使用dignslookup ,看看是否显示有趣的东西。

请注意,可以使用/etc/nsswitch.conf来更改机器名称parsing的方式,以便您也可以检查。

最后,像strace这样的工具可以用来检查你正在使用的程序是如何打开并读取文件来进行名称parsing的。 例如:

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

然后查看/tmp/ssh-strace.txt ,看看有没有什么有趣的文件正在打开和读取 – 这可能提供了一个线索是什么path正在跟踪。

检查/etc/resolv.conf – 它有可能你有一个“search”行,将自动完成使用的东西。