How to have a different hostname to the fqdn?

1

I have a server with fqdn git.mydomain.com (this is in DNS) but I don't really want the machine to have git as its hostname.

It might not be clear exactly what I want. Or maybe I don't really understand how all this is supposed to work, but my understanding is that

hostname -f

Should return the fqdn of the server, which in this case is git.mydomain.com

And plain old hostname should return the UNqualified hostname of the server. Every resource I can find says the the unqualified name should be the start of the fqdn but this seems annoying and inconvenient.

I would like

hostname -f

To return git.mydomain.com since that really is the fqdn of the server

But I would like hostname to just return mycustomhostname.

At the moment I have /etc/hostname set as 'mycustomhostname', and in /etc/hosts I have

127.0.0.1 mycustomhostname
1.2.3.4 git.mydomain.com

Where 1.2.3.4 is my public IP. However, this results in the hostname command returning mycustomhostname (which is fine), but hostname -f returns mycustomhostname as well, which is not correct, since the fqdn is git.mydomain.com.

The main reason for this is that when I am ssh'ing in to the server I would like the bash shell to say

myusername@mycustomhostname

Instead of

myusername@git (Which is what ever guide everywhere seems to indicate it should be).

Simply because it will make it easier for me to know what server I am working with. If I have another server for git repositories (say, git.mydomain2.com) and follow the conventions I see everywhere, then if I ssh'd in to that server bash would also say

myusername@git

Which is confusing for me.

How do I properly have a different hostname to the server's fqdn?

This is on Debian Linux btw.

Cameron Ball

Posted 2012-11-29T07:34:05.513

Reputation: 150

Just add two lines to your ~/.ssh/config: Host mycustomhostname and HostName git.mydomain.com, in that order. See man ssh_config for details. This solves your original problem, but not the question as stated, so sadly not an answer. (You can even get rid of the myusername@ by adding a User myusername line; just running ssh mycustomhostname does the trick then, and both suggestions even trickle down to git (pun intended)) – Jonas Schäfer – 2014-10-09T19:07:34.390

1You could create a DNS CNAME record for git.mydomain.com pointing to the server's IP or real host name server1.mydomain.com? Is there a particular reason you want git.mydomain.com to be the "real FQDN"? FWIW OS X's man hostname says: Include domain information in the printed name. This is the default behavior. [...] Trim off any domain information from the printed name.. There's no reference to those being completely different. – Daniel Beck – 2012-11-29T07:42:26.173

Is the fqdn not supposed to be the domain name of the server on the Internet? If I want to access this server through a browser I type

git.mydomain.com

So therefore shouldn't that be the fqdn? – Cameron Ball – 2012-11-29T07:49:01.123

Answers

1

You can give your server the host name mycustomhostname.example.org, and add an alias (CNAME) in DNS for git.example.org to that host.

This way, it can be reached using git.example.org, but it'll identify using its actual host name.

Daniel Beck

Posted 2012-11-29T07:34:05.513

Reputation: 98 421

-1

You can use as simple command:

# hostname -s

And see the result.

tom

Posted 2012-11-29T07:34:05.513

Reputation: 1