我的客户端配置中有一个带有各种参数的长主机名,因此我创建了第二个Host
条目,指向Hostname
长名称(见下文)。
Host CT106-LongHost-Name-With-Mixed-Case
Hostname 1.2.3.4
Host CT106
Hostname CT106-LongHost-Name-With-Mixed-Case
ssh CT106-LongHost-Name-With-Mixed-Case
工作正常;但是:
ssh CT106
结果是:
ssh: Could not resolve hostname ct106-longhost-name-with-mixed-case: nodename nor servname provided, or not known
我知道我可以只使用该条目的简称Host
而不必担心它,只是好奇这是否是故意的。
答案1
主机名不区分大小写(RFC 4343,2),所以这不是导致您出现问题的原因。
这是关于ssh_配置(5)文件。
Host
限制以下声明(直到下一个
Host
或Match
关键字)仅适用于与关键字后给出的模式之一匹配的主机。- -
Hostname
指定要登录的真实主机名。- -
没有CT106
匹配 Host CT106-LongHost-Name-With-Mixed-Case
。Hostname
本节中指定的内容未按照原始命令行中给出的方式执行,如您在此处所期望的那样,而是通过 DNS 解析。它可能无法解析为 IP 地址。
您可以在匹配部分直接指定 IP 地址Host
:
Host CT106
Hostname 192.0.2.1
答案2
补充一下 Esa Jokinen 的回答:
为了达到相同的效果,您可以将配置更改为:
Host CT106 CT106-LongHost-Name-With-Mixed-Case
Hostname 1.2.3.4