Come generare una chiave SSH su Linux

Punti chiave

  • Le chiavi SSH sono un modo sicuro per accedere ai server remoti senza password. Sono costituiti da una chiave pubblica e privata.
  • Utilizza il comando ssh-keygen su Linux per generare una coppia di chiavi SSH e considera l’aggiunta di una passphrase per maggiore sicurezza.
  • Copia la tua chiave pubblica SSH sul server remoto utilizzando ssh-copy-id o incollando manualmente la chiave nel file Authorized_keys.

Una chiave SSH ti consente di mantenere al sicuro gli account del tuo server remoto garantendo al contempo l’accesso senza password. È facile generarne uno su Linux.

Cos’è una chiave SSH?

Una chiave SSH è una chiave generata crittograficamente che consente di accedere a macchine remote. Una chiave SSH è una “coppia di chiavi” contenente una chiave pubblica e una chiave privata. Puoi copiare la chiave pubblica su macchine remote e loro la useranno per autenticarti. La chiave privata, come suggerisce il nome, è privata e dovrebbe rimanere sul tuo computer locale.

Non condividere la tua chiave SSH privata con nessuno!

Al momento dell’accesso, il server remoto utilizzerà SSH per confrontare la tua chiave pubblica con quella privata. Se corrispondono, sei autorizzato ad accedere al sistema remoto. Questo sistema di coppia di chiavi ti consente di impostare facilmente gli account mantenendo la sicurezza.

Come generare una chiave remota

Per generare una coppia di chiavi SSH, basta utilizzare il comando “ssh-keygen” sulla riga di comando di Linux. Ti verrà chiesto di selezionare un percorso per il file, quindi di inserire e confermare una passphrase se scegli di utilizzarne una. La passphrase ti consente di aggiungere un ulteriore livello di sicurezza alla tua chiave.

Se usi una passphrase, non dimenticarla! Non potrai accedere utilizzando quella chiave se la dimentichi.

Se vuoi accedere senza password, lascia semplicemente vuota la passphrase.

Per impostazione predefinita, ssh-keygen utilizza l’algoritmo Ed25519. Questo è sufficiente per la maggior parte dei casi perché è molto sicuro. Puoi specificare il tipo di algoritmo che desideri utilizzando il flag -t. Normalmente non dovresti aver bisogno di farlo a meno che il server non supporti l’algoritmo che hai utilizzato. Puoi leggere il Pagina manuale di ssh-keygen per imparare come generare una coppia di chiavi diversa.

Ottenere la nuova chiave SSH sulla macchina remota

Ora che hai generato la coppia di chiavi, devi copiarla sul server remoto. Ci sono due modi per farlo.

Il primo e più semplice è utilizzare l’utilità ssh-copy-id. Per fare ciò, chiamalo semplicemente con il nome utente e l’indirizzo del tuo account sul server remoto:

 ssh-copy-id [email protected]

Inserisci la tua password e verrà copiata sulla tua chiave privata.

Ora sarai in grado di accedere al server remoto:

 ssh [email protected] 

Se non funziona, dovrai copiare e incollare manualmente la chiave pubblica. La tua chiave pubblica sarà un file che termina con “.pub” nella directory .ssh nella tua home directory. Aprilo e copia e incolla il contenuto nel file .ssh/authorized_keys sul computer remoto.

Salva il file e ora sarai in grado di accedere al server utilizzando SSH. Assicurati che il file sia scrivibile solo da te, altrimenti potresti riscontrare errori.