Gestione del portachiavi SSH

“OpenSSH is the premier connectivity tool for remote login with the SSH protocol. It encrypts all traffic to
eliminate eavesdropping, connection hijacking, and other attacks.”

Chiunque abbia avuto a che fare con un sistema informatico sotto il profilo sistemistico conosce SSH, l’alternativa sicura all’ormai obsoleto Telnet.

Con SSH (o le alternative libere, come OpenSSH), che è composto dalla parte “client” e dalla “server” (sshd), si accede via terminale a server e sistemi remoti, sfruttando l’autenticazione sicura e la cifratura dei dati attraverso sistemi di crittografia asimmetrica (chiave pubblica e privata).

Per chi volesse approfondire, consiglio la lettura del libro “Codici & segreti. La storia affascinante dei messaggi cifrati dall’antico Egitto a Internet” di Simon Singh.

Si possono scegliere svariate modalità di autenticazione, tra cui la tradizionale password, ma ho trovato particolarmente comodo l’utilizzo, soprattutto per l’accesso frequente su alcuni sistemi, l’uso dell’autenticazione basata sulla chiave pubblica e privata. Iniziamo generando sul nostro PC una coppia di chiavi pubbliche/private, scegliendo uno tra gli algoritmi di cifratura supportati:

  • RSAun vecchio algoritmo basato sulla difficoltà di fattorizzazione dei grandi numeri. Per RSA è consigliata una dimensione chiave di almeno 2048 bit; 4096 bit è meglio. La scelta di un algoritmo diverso può essere consigliabile. Tutti i client SSH supportano questo algoritmo;
  • DSAun vecchio algoritmo di firma digitale del governo degli Stati Uniti. Si basa sulla difficoltà di calcolare logaritmi discreti. Normalmente andrebbe usata una dimensione chiave di 1024 bit. Il DSA, almeno nella sua forma originale, non è più raccomandato;
  • ECDSAun nuovo algoritmo di firma digitale standardizzato dal governo degli Stati Uniti, utilizzando curve ellittiche. Questo è probabilmente un buon algoritmo per le attuali applicazioni. Sono supportate solo tre dimensioni chiave: 256, 384 e 521 bit. Si raccomanda di usarlo sempre con 521 bit. La maggior parte dei client SSH ora supporta questo algoritmo.
  • ED25519 è un nuovo algoritmo aggiunto in OpenSSH. Il supporto nei client non è ancora universale, pertanto il suo uso in applicazioni di uso generale non è ancora consigliabile.

Per generare la coppia di chiavi, lanciare il comando relativo all’algoritmo prescelto (per ulteriori opzioni consultare “man ssh-keygen“):

ssh-keygen -t rsa -b 4096
ssh-keygen -t dsa
ssh-keygen -t ecdsa -b 521
ssh-keygen -t ed25519

seguire le istruzioni a video e, al termine della generazione, distribuire la chiave pubblica su tutti i servers ai quali vogliamo accedere automaticamente con il comando:

ssh-copy-id [user]@[host]

che probabilmente richiederà l’autenticazione. Dopo la copia della chiave sul sistema di destinazione, basterà lanciare il client ssh per aprire una nuova consolle senza dover inserire password:

ssh [user]@[host]

Attenzione a conservare le chiavi private in maniera adeguata ! L’ideale è di proteggerle con una password sicura (che verrà comunque richiesta al momento dell’accesso al portachiavi) e conservarne una copia in luogo protetto.

Buon lavoro !
 

Michele Pinassi

Blogger, appassionato di tecnologia, società e politica. Attualmente Responsabile del Sistema telefonico di Ateneo presso l'Università degli Studi di Siena ed esperto di sicurezza informatica nello staff del DPO. Utilizza quasi esclusivamente software libero.

Potrebbero interessarti anche...

Rispondi

Questo sito usa Akismet per ridurre lo spam. Scopri come i tuoi dati vengono elaborati.

%d blogger hanno fatto clic su Mi Piace per questo: