SSH è un protocollo client / server utilizzato per i login remoti. Utilizzando la crittografia per l’autenticazione, SSH fornisce un metodo crittografato per accedere al server o ad un’altra macchina.
Installazione SSH
Creazione chiave SSH
Il protocollo SSH utilizza una tecnica di crittografia chiamata crittografia asimmetrica. Fondamentalmente, la crittografia asimmetrica è un sistema che usa una coppia di chiavi, cioè la chiave pubblica e quella privata.
La chiave pubblica può essere condivisa con chiunque, avendo come scopo principale quello di criptare i dati, convertendo il messaggio in un codice segreto. Questa chiave viene solitamente inviata ad altri sistemi, per esempio i server, per criptare i dati prima di inviarli su Internet.
D’altra parte, la chiave privata è quella che deve rimanere segreta e viene usata per decifrare i dati crittografati con la chiave pubblica. Senza di essa, è impossibile decodificare le informazioni criptate.
Questo metodo permette al client e al server di mantenere un canale di comunicazione sicuro.
Ecco cosa succede in background quando si avvia una connessione SSH ad un server:
- Il client invia la chiave pubblica al server;
- Il server chiede al client di firmare un messaggio casuale criptato con la chiave pubblica usando la chiave privata;
- Il client firma il messaggio e inoltra il risultato al server;
- Viene stabilita una connessione sicura tra il client e il server.
La coppia di chiavi viene creata sulla propria macchina (client) in questo modo:
|
|
- dove
ed25519indica l’algoritmo utilizzato per creare la firma digitale della coppia di chiavi. Se il sistema lo supporta, ed25519 è il miglior algoritmo per creare coppie di chiavi SSH; - il flag
-Cè utilizzato per fornire un commento personalizzato alla fine della chiave pubblica, che di solito è l’email o l’identificazione del creatore della coppia di chiavi.
Ecco un esempio:
Poi verrà chiesta una passphrase da aggiungere alla coppia di chiavi. Questo aggiunge un ulteriore livello di sicurezza se, in qualsiasi momento, il vostro dispositivo venisse compromesso. Non è obbligatorio aggiungere una passphrase, ma è sempre raccomandato.
Questo comando genera due file nella directory selezionata (comunemente ~/.ssh):
- la chiave pubblica con l’estensione
.pub; - e quella privata senza estensione.
Caricamento della chiave SSH nella macchina remota
L’output del comando precedente deve essere copiato nel file .ssh/authorized_keys presente sulla macchina remota.
|
|
Configurazione SSH sulla macchina locale
Nel file di configurazione locale, va indicato come raggiungere l’host remoto:
Accedere alla macchina remota
Ora, per accedere alla macchina basta digitare: ssh <key_name>