如何设置别名服务器名称

如何设置别名服务器名称

我想在我的笔记本电脑 (Linux) 上设置一个别名服务器名称。我不是想要使用该/etc/hosts/文件由于远程服务器的 IP 地址发生变化。我要这样做的原因是服务器名称长度为 27 个字符。我想这样做:

ssh server

代替:

ssh server.subdomain.domain.com

我使用多个子域名。如何设置?

PS:我不认为这是一个重复,因为其他类似的答案并没有解决IP地址会改变的事实。

答案1

使用文件~/.ssh/config

示例内容:

Host jane
HostName long.server.name
User root

ssh jane然后你可以使用ssh [email protected]

如果 IP 地址发生变化,而您不知道该服务器的 revDNS,您可以尝试使用命令host 1.0.0.1,其中 1.0.0.1 是 IP 地址 - 这将为您提供您可以配置的当前 revDNS 名称。

如果主机名(反向 DNS)随着 IP 变化而变化或者您的服务器位于 NAT 后面 - 您可以使用动态 DNS(dyndns.org)和/或使用端口转发。

答案2

为了使用更短的“ssh server”而不是“ssh server.subdomain.domain.com”,您只需将“subdomain.domain.com”附加到 /etc/resolv.conf 中的搜索字段即可。如果没有搜索字段,您可以创建一个。

例如 - 假设您的 /etc/resolv.conf 如下所示:

搜索 domain1.com domain2.com domain3.com
名称服务器 1.2.3.4
名称服务器 5.6.7.8

修改搜索行使其看起来像这样:

搜索 domain1.com domain2.com domain3.com subdomain.domain.com

如果您希望首先搜索 subdomain.domain.com,则可以将其放在此列表的前面。

答案3

如果这仅适用于 ssh,您可以在~/.ssh/config

完成后,ssh server每次都会假设 fqdn 解析为 ip 地址。

有关详细信息,请参阅http://kb.mediatemple.net/questions/1625/使用+an+SSH+Config+File或 ssh_config 的手册页。

答案4

.bashrc您可以在或中添加别名.zshrc

alias server1='ssh server1'

~/.ssh/config例如,在您的服务器中添加 server1 :

Host server1
Hostname address
User username-on-this-server

相关内容