Elementi Essenziali
- Le chiavi SSH rappresentano un metodo sicuro per l’accesso a server remoti, evitando l’uso di password. Esse si basano su una coppia di chiavi: una pubblica e una privata.
- Il comando `ssh-keygen` in Linux permette di generare questa coppia di chiavi. Per una maggiore protezione, è consigliabile impostare una passphrase.
- La chiave pubblica deve essere copiata nel server remoto, tramite `ssh-copy-id` o incollando il suo contenuto nel file `authorized_keys`.
L’uso di una chiave SSH potenzia la sicurezza dei tuoi account sui server remoti, consentendo al contempo un accesso facilitato senza password. La generazione di queste chiavi su Linux è un processo semplice.
Cos’è esattamente una chiave SSH?
Una chiave SSH è una chiave crittografica generata per consentire l’accesso a sistemi remoti. Questa chiave è in realtà una “coppia di chiavi”, composta da una chiave pubblica e una privata. La chiave pubblica viene distribuita ai sistemi remoti, che la utilizzeranno per la tua autenticazione. La chiave privata, come indica il suo nome, deve restare segreta e conservata sul tuo computer.
È fondamentale non condividere la tua chiave privata SSH con nessuno!
Durante il tentativo di accesso, il server remoto confronterà la tua chiave pubblica con quella privata. Se le due corrispondono, l’accesso al sistema remoto sarà consentito. Questo sistema a coppie di chiavi semplifica la gestione degli account, mantenendo al contempo un elevato livello di sicurezza.
Come si genera una chiave remota
Per generare una coppia di chiavi SSH, è sufficiente utilizzare il comando `ssh-keygen` nel terminale di Linux. Ti verrà richiesto di specificare il percorso del file in cui salvare le chiavi e, se lo desideri, di inserire e confermare una passphrase. La passphrase aggiunge un ulteriore livello di sicurezza alla tua chiave.
Se scegli di usare una passphrase, ricordala! In caso contrario, non potrai usare la chiave per l’accesso.
Se vuoi evitare l’uso della password, puoi lasciare la passphrase vuota.
Di default, `ssh-keygen` utilizza l’algoritmo Ed25519, considerato sufficientemente sicuro per la maggior parte degli usi. È possibile specificare un algoritmo diverso tramite il parametro `-t`, anche se solitamente non è necessario, a meno che il server remoto non supporti l’algoritmo predefinito. Per approfondire la generazione di chiavi con algoritmi diversi, consulta la pagina man di ssh-keygen.
Come trasferire la nuova chiave SSH sul server remoto
Una volta generata la coppia di chiavi, devi copiarla sul server remoto. Ci sono due modi per farlo.
Il metodo più semplice è utilizzare l’utilità `ssh-copy-id`. Per farlo, basta richiamarla con il nome utente e l’indirizzo del tuo account sul server remoto:
ssh-copy-id [email protected]
Inserisci la password e la tua chiave pubblica sarà copiata nel server.
Ora sarai in grado di accedere al server remoto:
ssh [email protected]
Se questo non funziona, dovrai copiare e incollare manualmente la chiave pubblica. La tua chiave pubblica è un file con estensione “.pub” nella directory `.ssh` della tua home directory. Aprilo e copia il contenuto nel file `.ssh/authorized_keys` del computer remoto.
Salva il file e ora potrai accedere al server utilizzando SSH. Assicurati che il file sia scrivibile solo da te, altrimenti potresti riscontrare degli errori.