Organizziamo gli accessi SSH

Nel mio lavoro ho spesso la necessità di lavorare contemporaneamente su più server a cui mi connetto tramite terminale con il protocollo SSH.

Una delle cose peggiori che si possono fare in questa situazione, è inserire dei comandi in una shell mentre si è convinti di lavorare su un’altra macchina: potenzialmente si può arrivare a forattare il disco del server sbagliato, anche se la cosa peggiore che a me è capitata è stata semplice un riavvio…

Onde evitare la possibilità che si verifichino simili errori, ho configurato il mio PC di lavoro con delle scorciatoie da desktop attraverso cui connettrmi al server, in grado di settare automaticamente un profilo con colorazione personalizzata.

Vediamo per punti come ho configurato il sisitema:

1) Abilitazione dell’accesso tramite certificato
Sebbene questo passaggio non sia necessario, risulta davvero comodo utilizzare il certificato per collegarsi ai server senza dover quindi ricordarsi una password specifica.
Per far ciò, sul mio pc ho lanciato il comando ssh-keygen per creare una chiave utilizzabile per collegarmi in ssh ai server. Lasciando le impostazioni di default, verrà creato il file .ssh/id_rsa.pub contenente la chiave pubblica da caricare sul server.

a@A:~> ssh-keygen -t rsa
Generating public/private rsa key pair.
Enter file in which to save the key (/home/a/.ssh/id_rsa): 
Created directory '/home/a/.ssh'.
Enter passphrase (empty for no passphrase): 
Enter same passphrase again: 
Your identification has been saved in /home/a/.ssh/id_rsa.
Your public key has been saved in /home/a/.ssh/id_rsa.pub.
The key fingerprint is:
3e:4f:05:79:3a:9f:96:7c:3b:ad:e9:58:37:bc:37:e4 a@A

Quindi, sul server, creiamo la directory .ssh (può già esistere):

a@A:~> ssh b@B mkdir -p .ssh
b@B's password:

e carichiamo la chiave pubblica del nostro server:

a@A:~> cat .ssh/id_rsa.pub | ssh b@B 'cat >> .ssh/authorized_keys'
b@B's password:

A questo punto possiamo collegarci al server tramite ssh senza dover più ricordare la password di accesso, cosa che rende l’operazione di accesso molto più veloce.

2: Creiamo un profilo personalizzato in Terminator
Come già detto in questo articolo, sono un fan di “Terminator”: si tratta di una applicazione simile ad X-Term ma con caratteristiche più evolute. In questo caso utilizzeremo la funzionalità “Profili” per creare una combinazione specifica di colori per l’accesso ssh al nostro server.
Click con il pulsante destro del mouse e scegliamo “Preferenze”.
Quindi andiamo in “Profiles” e click su “Aggiungi” per creare un nuovo profilo che chiameremo come il server (in questo caso “B”).
Infine andiamo in “Colors” e scegliamo “Custom” dal primo menu a tendina. Dalle due palette sottostanti scegliamo un colore di background e uno per il carattere.

3: Creiamo un pulsante di accesso per lanciare il terminale personalizzato
Ora bisogna aggiungere un pulsante al nostro Desktop Manager. Io uso XFCE e ho voluto creare un pannello aggiuntivo in cui inserisco i “lanciatori” per le mie sessioni terminale. La procedura da utilizzare è diversa se si usa Gnome o KDE (o qualsiasi altro DE), quello che conta è il comando da far eseguire al lanciatore:

terminator -p B -e 'ssh b@B'

Ecco che al click sul lanciatore, verrà aperta una nuova finestra di Terminator utilizzando il profilo “B” con i nostri colori personalizzati che eseguirà in automatico all’apertura il comando “ssh b@B” e l’accesso al server avverrà automaticamente grazie alla presenza del certificato.