在 Mac OS X Lion 上编辑 /etc/hosts,以使用较短的主机进行 ssh 连接

在 Mac OS X Lion 上编辑 /etc/hosts,以使用较短的主机进行 ssh 连接

我总是不得不输入很多内容。我只想缩短主机名,而不是别名。我尝试编辑主机文件以将其包含在底部,但当我尝试以 身份连接时它无法解析。有人能告诉我为什么吗?ssh [email protected]shorthost somereallylonghost.numb3r5.ojd202nk.netssh myusername@shorthost

答案1

使用 ssh 配置文件。文件路径为~/.ssh/config

示例配置:

Host shorthost
  User myusername
  HostName somereallylonghost.numb3r5.ojd202nk.net

然后你就可以运行了ssh shorthost

答案2

请接受@ggustafsson 的解决方案。但是既然你问为什么/etc/hosts不起作用,而他没有讲到这一点,我想我应该讲一下:

/etc/hosts用于将一个或多个主机名映射到 IP 地址。它不用于将一个名称映射到另一个名称。由于它不是为执行您要查找的操作而设计的,因此它不提供执行您想要的操作的语法。您编写的语法对于读取的进程来说是无意义/无效的/etc/hosts,该进程期望每行都以数字 IP 地址开头。

答案3

如果您唯一关心的是ssh,您应该接受 ggustafsson 的答案。但是,如果您还需要它来执行其他 IP 任务(例如 ftp、ping 等),并且相关主机具有固定 IP(例如,123.123.123.123),则可以像这样添加一行/etc/hosts

123.123.123.123 shorthost

(您也可以选择在末尾添加 somereallylonghost,这样无论 DNS 服务器是否可用,都可以解析该地址)。但请记住,只要 verylonghostnametoreplaceinthiscase 的 IP 发生变化,您就必须更新该行 —— 而使用 ssh 配置方法则不需要这样做。

相关内容