![如何使主机名与 fqdn 不同?](https://linux22.com/image/1340632/%E5%A6%82%E4%BD%95%E4%BD%BF%E4%B8%BB%E6%9C%BA%E5%90%8D%E4%B8%8E%20fqdn%20%E4%B8%8D%E5%90%8C%EF%BC%9F.png)
我有一个 fqdn 为 git.mydomain.com 的服务器(在 DNS 中),但我并不希望该机器以 git 作为其主机名。
我可能不太清楚自己到底想要什么。或者我可能不太明白这一切应该如何运作,但我的理解是
hostname -f
应返回服务器的 fqdn,在本例中为 git.mydomain.com
普通的旧主机名应返回服务器的非限定主机名。我能找到的所有资源都表明非限定名称应该是 fqdn 的开头但这看起来很烦人且不方便。
我想
hostname -f
返回 git.mydomain.com,因为这确实是服务器的 fqdn
但我希望主机名只返回mycustomhostname。
目前,我已将 /etc/hostname 设置为“mycustomhostname”,并且在 /etc/hosts 中我有
127.0.0.1 mycustomhostname
1.2.3.4 git.mydomain.com
其中 1.2.3.4 是我的公共 IP。但是,这会导致 hostname 命令返回 mycustomhostname(这没问题),但 hostname -f 也会返回 mycustomhostname,这是不正确的,因为 fqdn 是 git.mydomain.com。
主要原因是当我通过 ssh 进入服务器时,我希望 bash shell 说
myusername@mycustomhostname
代替
myusername@git (Which is what ever guide everywhere seems to indicate it should be).
只是因为它可以让我更容易地知道我正在使用哪个服务器。如果我有另一台用于 git 存储库的服务器(例如,git.mydomain2.com)并遵循我随处可见的约定,那么如果我 ssh 进入该服务器,bash 也会说
myusername@git
这让我很困惑。
如何正确地将主机名与服务器的 fqdn 区分开来?
顺便说一下,这是在 Debian Linux 上。
答案1
您可以为您的服务器指定主机名,并在 DNS 中为该主机mycustomhostname.example.org
添加别名 (CNAME) 。git.example.org
这样,就可以使用 来访问它git.example.org
,但它将使用其实际的主机名来识别。
答案2
您可以使用简单的命令:
# hostname -s
并查看结果。