如何使主机名与 fqdn 不同?

如何使主机名与 fqdn 不同?

我有一个 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

并查看结果。

相关内容