問題:
如果輸入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
,故而可以成功連接。