Quand un serveur Linux démarre, on aime savoir qui il est et comment s’y connecter. C’est surtout vrai dans le cas de mise en réseau par DHCP ainsi que pour les machines virtuelles dans le cloud. Le désespoir est grand on voit la console afficher « Debian GNU/Linux buster/stable Clauzel.eu tty1 » mais qu’on a aucune idée d’où se connecter par ssh.

La solution est d’enrichir le fichier /etc/issue pour demander l’affichage d’informations supplémentaires. Ainsi, la configuration

Nom d’hôte : \n.\o
IPv6 : \6
IPv4 : \4
Système : \S{PRETTY_NAME} \s \m \r

produira l’affichage

Nom d’hôte : Clauzel.eu
IPv6 : 2a01:4f8:1c17:4608::42
IPv4 : 88.99.35.242
Système : Debian GNU/Linux 10 (buster) Linux x86_64 4.19.0-5-amd64

Remarques :

  • ici la balise \6 affichera uniquement la première adresse IPv6 de la première interface. C’est ennuyeux puisque l’IPv6 permet justement de disposer de nombreuses adresses ;
  • il est possible de choisir quelle interface on souhaite afficher, avec \6{eth0}, mais là encore on ne récupère que la première adresse ;
  • il est fort possible que cette solution ne fonctionne pas correctement avec systemd ; mais en même temps, qui utilise systemd sur ses serveurs ?

Documentation : man 8 getty