Utilizzo dei comandi ssh-copy-id e ssh-keygen in Linux

Secure Shell (SSH) è uno strumento fondamentale per connettersi in modo sicuro ai sistemi remoti. Per migliorare la sicurezza e la facilità di accesso, l’autenticazione tramite chiave SSH è spesso preferita all’autenticazione tramite password. Due comandi importanti in questo processo sono ssh-keygen e ssh-copy-id.

Generazione delle chiavi SSH con ssh-keygen

Il comando ssh-keygen serve a generare coppie di chiavi SSH. Per creare una nuova coppia di chiavi, eseguire il seguente comando in ambiente Linux:

ssh-keygen -t rsa -b 4096 -C "your_email@example.com"
  • t rsa: Specifica l’algoritmo RSA.
  • b 4096: Genera una chiave con crittografia a 4096 bit.
  • C “your_email@example.com”: Aggiunge un commento per l’identificazione.

Dopo aver eseguito il comando, verrà richiesto di specificare un file in cui salvare la chiave (predefinito: ~/.ssh/id_rsa) e una passphrase opzionale per una maggiore sicurezza.

Copiare la chiave pubblica su un server remoto con ssh-copy-id

Una volta generata la coppia di chiavi, è necessario trasferire la chiave pubblica al server remoto. Il comando ssh-copy-id semplifica questo processo:

ssh-copy-id utente@server remoto
  • utente: Il nome utente sul server remoto.
  • server remoto: Il nome host o l’indirizzo IP del server.

Questo comando aggiunge la chiave pubblica (id_rsa.pub) al file ~/.ssh/authorized_keys sul computer remoto, consentendo l’autenticazione senza password.

Verifica dell’autenticazione con chiave SSH

Per verificare se l’autenticazione a chiave funziona, provate a connettervi al server remoto:

ssh user@remote-server

Se tutto è stato impostato correttamente, si dovrebbe accedere senza bisogno di password.

Conclusione

L’uso di ssh-keygen e ssh-copy-id aumenta la sicurezza e la convenienza nella gestione dei server remoti. Configurando l’autenticazione con chiave SSH, gli amministratori possono eliminare i rischi associati ai login basati su password e semplificare l’accesso sicuro.