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
Sono amante della tecnologia e delle tante sfumature del mondo IT, ho partecipato, sin dai primi anni di università ad importanti progetti in ambito Internet proseguendo, negli anni, allo startup, sviluppo e direzione di diverse aziende; Nei primi anni di carriera ho lavorato come consulente nel mondo dell’IT italiano, partecipando attivamente a progetti nazionali ed internazionali per realtà quali Ericsson, Telecom, Tin.it, Accenture, Tiscali, CNR. Dal 2010 mi occupo di startup mediante una delle mie società techintouch S.r.l che grazie alla collaborazione con la Digital Magics SpA, di cui sono Partner la Campania, mi occupo di supportare ed accelerare aziende del territorio .
Attualmente ricopro le cariche di :
– CTO MareGroup
– CTO Innoida
– Co-CEO in Techintouch s.r.l.
– Board member in StepFund GP SA
Manager ed imprenditore dal 2000 sono stato,
CEO e founder di Eclettica S.r.l. , Società specializzata in sviluppo software e System Integration
Partner per la Campania di Digital Magics S.p.A.
CTO e co-founder di Nexsoft S.p.A, società specializzata nella Consulenza di Servizi in ambito Informatico e sviluppo di soluzioni di System Integration, CTO della ITsys S.r.l. Società specializzata nella gestione di sistemi IT per la quale ho partecipato attivamente alla fase di startup.
Sognatore da sempre, curioso di novità ed alla ricerca di “nuovi mondi da esplorare“.
Comments