Grazie all’aiuto del pro­to­col­lo di rete SSH potete stabilire una con­nes­sio­ne di rete sicura e cifrata con un di­spo­si­ti­vo remoto, come ad esempio un server. Con una con­nes­sio­ne via SSH di questo tipo gestite il server del vostro computer locale o ve ne servite tramite la linea dei comandi. A seconda della versione del pro­to­col­lo usata entrano in azione algoritmi di crit­to­gra­fia diversi, ad esempio SSH-2 usa di regola l’algoritmo AES. Prima di poter procedere con la cifratura della con­nes­sio­ne, bisogna au­ten­ti­car­si. Mentre il server viene iden­ti­fi­ca­to dal client tramite un cer­ti­fi­ca­to di sicurezza, c’è una variante diversa per il login del client sul server. Oltre a quella classica, nota a tutti, tramite username e password, si può usare anche quella della chiave pubblica e privata (coppia di chiavi).

Au­ten­ti­ca­zio­ne con chiave pubblica

Il metodo di au­ten­ti­ca­zio­ne tramite chiavi SSH, detto anche crit­to­gra­fia con chiave pubblica, comporta alcuni vantaggi rispetto al login classico con username e password. Così non viene salvata sul server la password usata (funzione hash), ma solo la chiave pubblica. La chiave privata resta sul proprio computer, quindi resta segreta. Inoltre potete criptarla con un’ulteriore iden­ti­fi­ca­zio­ne. La chiave pubblica può ve­ri­fi­ca­re le firme, che sono generate at­tra­ver­so le chiavi SSH private, e rende possibile un login au­to­ma­ti­co sul server. Anche se un utente non au­to­riz­za­to dovesse pervenire alla chiave pubblica, è quasi im­pos­si­bi­le che riesca a de­ter­mi­na­re la chiave privata corretta. Se invece di usare una password facile, con­fi­gu­ra­te una con­nes­sio­ne via SSH, quindi tramite una coppia di chiavi, non solo riuscite a evitarvi la finestra di login, ma vi garantite anche una sicurezza maggiore.

Come con­fi­gu­ra­re le chiavi SSH

Per poter usufruire dei vantaggi del pro­to­col­lo SSH, avete bisogno di uno dei pacchetti SSH di­spo­ni­bi­li come OpenSSH per i sistemi operativi Unix, WinSCP per Windows e PuTTY sia per Windows sia per sistemi Unix. Oltre al pro­to­col­lo SSH, i pacchetti con­ten­go­no anche delle ap­pli­ca­zio­ni con l’aiuto delle quali si possono generare chiavi SSH. Nelle istru­zio­ni seguenti vi spie­ghia­mo passo per passo come con­fi­gu­ra­re l’uso di una coppia di chiavi con OpenSSH e PuTTY.

Con­fi­gu­ra­re le chiavi SSH con OpenSSH

  1. Per iniziare a generare le chiavi SSH, dovete inserire il seguente comando:

    ssh-keygen -t rsa -b 4096

    At­tra­ver­so i parametri opzionali spe­ci­fi­ca­te il tipo di crit­to­gra­fia (-t), che in questo caso è l’algoritmo RSA, i bit di lunghezza della chiave (-b), dove 4096 cor­ri­spon­de al valore massimo. Se manca questa spe­ci­fi­ca­zio­ne, vengono uti­liz­za­te le im­po­sta­zio­ni di con­fi­gu­ra­zio­ne standard per la ge­ne­ra­zio­ne.
     
  2. Nella finestra seguente compare la cartella che potete mo­di­fi­ca­re e dove potete salvare la chiave SSH (“Enter file in which to save the key“) e avete inoltre l’opzione di definire una pas­sph­ra­se per la chiave privata (“Enter pas­sph­ra­se”). Se volete usare la directory standard e non impostare nessuna iden­ti­fi­ca­zio­ne per le vostre chiavi, potete lasciare il campo vuoto e saltarlo premendo invio.
     
  3. Entrambe le chiavi SSH sono ora salvate in diversi file nella suddetta cartella, cioè quella che avete scelto. Il file id_rsa.pub contiene la chiave pubblica, che è salvata solo nella sot­to­car­tel­la .ssh nel file au­tho­ri­zed_keys sul server. Infine copiate la chiave nella cartella Home del ri­spet­ti­vo utente sul server:

    scp ~/.ssh/id_rsa.pub USER@HOST.it
     
  4. Loggatevi sul server e copiate la chiave pubblica nella giusta cartella:

    ssh USER@HOST.it

    cat ~/id_rsa.pub >> ~/.ssh/au­tho­ri­zed_keys
     
  5. A questo punto la coppia di chiavi nonché, qualora definita, la relativa pas­sph­ra­se do­vreb­be­ro essere uti­liz­za­te au­to­ma­ti­ca­men­te nella creazione di una con­nes­sio­ne SSH. Nel caso in cui non fun­zio­nas­se, con­trol­la­te se i permessi della cartella .ssh e il file au­tho­ri­zed_keys sono con­fi­gu­ra­ti cor­ret­ta­men­te.
     
  6. Dato che l’ au­ten­ti­ca­zio­ne a chiave pubblica, so­sti­tui­sce il normale processo di iden­ti­fi­ca­zio­ne tramite password, potete an­nul­lar­lo dal file di con­fi­gu­ra­zio­ne SSH  /etc/ssh/sshd_config (o anche di­ret­ta­men­te /etc/, se usate ad esempio Cygwin), mo­di­fi­can­do la riga “Password Au­then­ti­ca­tion yes” in “Password Au­then­ti­ca­tion no” e riav­vian­do il server

Generare chiavi SSH con PuTTY Key Generator

  1. Se uti­liz­za­te PuTTY per in­stau­ra­re una con­nes­sio­ne SSH, avete di solito a di­spo­si­zio­ne anche il PuTTYgen, che vi fornisce di default gli strumenti adatti per generare una coppia di chiavi. Trovate il PuTTY Key Generator nella stessa cartella, nella quale è in­stal­la­to PuTTY , cioè dove l’avete de­com­pres­so. Se dovesse mancare il tool, potete sca­ri­car­lo fa­cil­men­te dalla PuTTY Download Page.
     
  2. Dopo l’avvio scegliete in “Pa­ra­me­ters” il tipo di cifratura. Per SSH-2 potete decidere tra i tipi RSA e DAS. Nell’opzione “Number of bits in a generated key” definite la lunghezza di chiave de­si­de­ra­ta.
     
  3. Cliccate poi su “Generate” e muovete il mouse sul campo libero della finestra di dialogo avanti e indietro, per as­si­cu­rar­vi l’esclu­si­vi­tà del codice.
     
  4. Se la ge­ne­ra­zio­ne è conclusa, potete munire ul­te­rior­men­te in maniera opzionale la coppia di chiavi generata con una nota tecnica o una pas­sph­ra­se.
     
  5. Salvate entrambe le chiavi cliccando su “Save private key” e “Save public key”.
     
  6. Per tra­sfe­ri­re la chiave pubblica sul server, col­le­ga­te­vi su PuTTY e copiate, per con­clu­de­re, il codice negli appunti ("Public key for pasting into OpenSSH au­tho­ri­zed_keys file") nel file au­tho­ri­zed_keys.
     
  7. Da ultimo tra­scri­ve­te la chiave privata nel client. Aprite il menù di con­fi­gu­ra­zio­ne e scegliete il file della chiave privata in “Category” > “Con­nec­tion” > “SSH” > “Auth” > “Private key file for au­then­ti­ca­tion”.
Vai al menu prin­ci­pa­le