Gli utenti alle prime armi con le distribuzioni Linux potrebbero avere difficoltà a capire bene che cosa sia l'hostname, in genere si è portati ad identificare il proprio PC con il nome account utilizzato, ma in realtà per le reti le cose non stanno cosi e il terminale viene solitamente identificato con l'hostname.
L'hostname è infatti il nome identificativo di un device (host), un computer e anche uno smartphone, all'interno di una rete. Questo vale per la nostra rete locale così come per la rete Internet dove gli hostname sono utili sopratutto nelle aziende che devono gestire decine di PC. Sulle distribuzioni Linux è possibile selezionare il nostro hostname direttamente in fase di installazione ed è possibile visualizzarlo da shell, ad esempio:
picchio@yoda:~$
Il nome scritto dopo il nostro username è l'hostname, dunque in questo caso è "yoda". Se volessimo però essere sicuri del nostro hostname potremmo digitare anche "hostname" per ottenere appunto il nome del terminale che stiamo usando:
picchio@yoda:~$ hostname
yoda
Conoscere l'hostname di un determinato PC ci consente di poterlo individuare nel caso volessimo comunicare con esso da remoto, ad esempio con SSH:
ssh picchio@yoda
L'hostname nasce perché per l'uomo è molto più semplice memorizzare un nome rispetto ad una serie di numeri (gli indirizzi IP), è lo stesso concetto adottato dagli URL, che vengono sfruttati al posto degli indirizzi IP, tramite un DNS resolver, durante la navigazione web.
Ovviamente è anche possibile cambiare il nostro hostname, questo può essere utile se ad esempio abbiamo più PC sparsi per l'ufficio e ad uno di essi cambiamo posizione. E' ad esempio possibile usare hostname del tipo "Postazione1SalaB". Cambiare hostname è molto semplice, si può fare tramite systemd:
sudo hostnamectl set-hostname Postazione2SalaB
Ma si può anche andare a modificare direttamente il file di configurazione dell'hostname che si trova dentro la directory /etc:
sudo nano /etc/hostname
Dentro tale file sarà visualizzato unicamente l'hostname che abbiamo scelto in fase di installazione e sarà possibile cambiarlo digitando quello nuovo.
Possiamo anche andare a modificare il file host che indica al sistema quali indirizzi IP associare a determinati hostname:
sudo nano /etc/hosts
Basterà quindi aggiungere gli IP e il corrispettivo hostname che vogliamo associare, cosi che il sistema lo identifichi automaticamente con esso:
127.0.0.1 localhost
127.0.1.1 yoda
192.168.1.12 NAS
192.168.1.13 DiscoDireteSmartTV
192.168.1.14 Postazione2SalaB
Una volta aggiunti gli IP e gli hostname che desideriamo salviamo e chiudiamo il file e successivamente indichiamo a systemd di riavviare il gestore di rete in modo da rendere operative le nostre modifiche:
sudo systemctl restart networking
Dunque adesso sarà possibile accedere via SSH ad un altro PC connesso alla nostra rete locale sfruttando il suo hostname al posto dell'IP, ad esempio:
ssh picchio@NAS
Via Make Tech Easier