Come utilizzare SSH senza password

SSH (Secure SHell) è un protocollo che permette di stabilire una connessione cifrata tra due host, attraverso una interfaccia a linea di comando. È tipico nei sistemi UNIX, l’utilizzo di un client SSH (solitamente OpenSSH) per l’amministrazione remota di sistemi. Cercherò in primo luogo di descrivere come SSH funziona, ed in seguito vi fornirò un modo per utilizzare SSH senza dover immettere la password ad ogni connessione.

La sicurezza nelle comunicazioni via SSH è resa disponibile da tre diverse fasi che avvengono prima che l’utente possano stabilire la vera e propria connessione con l’host remoto:

  • Identificazione dell’host: in questa fase ci si deve assicurare che l’host con il quale si sta tentando di comunicare sia davvero chi afferma di essere. L’identificazione è effettuata attraverso tecniche di autenticazione RSA, che è un algoritmo di cifratura pubblica. LA prima volta che ci si connette ad un host si memorizza la sua chiave pubblica in corrispondenza del suo indirizzo, in modo tale da verificare, per le connessioni successive, la corretta identificazione dell’host. Nessun altro host infatti potrà decodificare i messaggi criptati attraverso la chiave pubblica corrispondente.
  • Criptazione: è necessario stabilire una comunicazione punto a punto nella quale il trasferimento dei dati avviene previa criptazione, in modo tale che, nel caso qualcuno stia osservando la comunicazione, questo non sia in grado di capire il significato della stessa. Questa fase avviene prima dell’autenticazione, in modo tale che ogni informazione legata a questa fase (password, o generali informazioni di autenticazione) vengano trasmesse in modo sicuro. La criptazione dei dati avviene solitamente attraverso sistemi a chiave simmetrica, molto più efficienti rispetto a meccanismi a chiave pubblica. In definitiva la chiave simmetrica utilizzata è diversa da sessione a sessione e viene trasmessa tra i due host attraverso la chiave pubblica e quella privata.
  • Autenticazione: in questa fase è necessario autenticarsi, cioè provare la propria identità presso l’host remoto. Questo può essere fatto inserendo la propria password oppure utilizzando i certificati, come vedremo più avanti.

La cosa “bella” di SSH è che tutte queste operazioni sono per lo più trasparenti all’utente e permettono un reale incremento della sicurezza nell’accesso remoto ad un host.

Continua a leggere

Annunci