问题:
如果输入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
,故而可以成功连接。