ssh 客户端配置中的“主机名”转换为小写;但是,“主机”似乎区分大小写。这是故意的吗?

ssh 客户端配置中的“主机名”转换为小写;但是,“主机”似乎区分大小写。这是故意的吗?

我的客户端配置中有一个带有各种参数的长主机名,因此我创建了第二个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

限制以下声明(直到下一个HostMatch关键字)仅适用于与关键字后给出的模式之一匹配的主机。- -

Hostname

指定要登录的真实主机名。- -

没有CT106匹配 Host CT106-LongHost-Name-With-Mixed-CaseHostname本节中指定的内容未按照原始命令行中给出的方式执行,如您在此处所期望的那样,而是通过 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

相关内容