問題:
如果輸入ssh user@192.168.51.45,輸出是ssh: Could not resolve hostname 501\450\253\345\274\231\250: Name or service not known,但是輸入ssh user@rserver則能成功連接,rserver是192.168.51.45的主機名,在/etc/hosts進行了綁定。
分析:
輸入的是確切ip地址,按理說是不用dns解析的,能直接連接該ip地址所在的主機,但卻dns解析不成功,並且ssh實際解析的是501\450\253\345\274\231\250這個亂碼字符。
本地主機是Ubuntu20,和dns解析相關的文件(ip地址與主機名綁定)有~/.ssh/config和/etc/hosts,查詢這兩個文件,發現192.168.51.45在/etc/hosts進行了綁定:
192.168.51.45 rserver
也在~/.ssh/config進行了綁定:
Host 192.168.51.45
HostName 主機A
原因:
192.168.51.45同時在~/.ssh/config和/etc/hosts和不同的主機名進行了綁定,ssh user@192.168.51.45的時候,解析成了主機A,含有中文字符,就成了亂碼,而主ssh user@rserver的時候,/etc/hosts成功解析為192.168.51.45,故而可以成功連接。
