Come creare e scambiare le chiavi ssh per l’autenticazione
Dite la verità, quante volte avreste voluto accedere ad un sistema remoto via ssh senza dover inserire le credenziali, anche perché capita di non ricordarsele e la cosa peggiore e lasciarle scritte da qualche parte. Bene in questo articolo vedremo come fare. Ricordiamo giusto qualche concetto: ssh è un protocollo di connessione cifrato che consente accessi sicuri su connessioni non protette e come tale prevede l’uso di una
- chiave pubblica usata dal server su cui si desidera connettere
- chiave privata usata dal client
Vediamo come semplificarci la vita per creare ed usare la coppia di chiavi.
I passi che bisogna fare sono:
Generazione delle chiavi con ssh-keygen
ssh-keygen -f <path del file idChiave>
Utilizzo di ssh-copy-id per copiare la chiave pubblica sul server
ssh-copy-id -i <path del file idChiave> username@address
Creare e configurare un file config SSH: inserire in ~/.ssh/config
Host <nomeServer> Hostname <ipAddress> User <username>
Usare ssh-agent per archiviare la passphrase della chiave privata
ssh-add <path del file idChiave>
Connetttersi al server per provare la configurazione
ssh <nomeServer>
ed ecco fatto siete connessi senza dover inserire le credenziali.
Vi lascio un piccolo script, da migliorare, che vi consentirà di creare, al volo, le chiavi e di impostare la configurazione.
#!/bin/sh echo -n "Inserire Hostname/ip del server:" read ip echo -n "Inserire User:" read user echo -n "Sceglire Nome menemonico del Server:" read nome ssh-keygen -f ~/.ssh/$nome ssh-copy-id -i ~/.ssh/$nome $user@$ip echo "Host $nome" >> ~/.ssh/config echo " Hostname $ip" >> ~/.ssh/config echo " User $user" >> ~/.ssh/config ssh-add ~/.ssh/$nome

Comments