1 760
contributi
mNessun oggetto della modifica |
mNessun oggetto della modifica |
||
Riga 1: | Riga 1: | ||
=Introduzione= | =Introduzione= | ||
Quando ci si deve connettere molto spesso ad un server (o a molti server) tramite ssh, può essere tedioso dover inserire ogni volta la password... | |||
Un modo sicuro per ''aggirare'' questo problema è basato sull'autenticazione tramite una coppia di chiavi (privata e pubblica). | |||
Il concetto alla base di questo sistema di autenticazione è semplice: si demanda il compito di verificare i dati di autenticazione direttamente alle chiavi ssh, rimuovendo la richiesta della password (meno volte viene digitata, più è difficile che qualche utente male intenzionato la riesca a capire...) che viene, eventualmente, sostituita dalla richiesta di una passphrase di sblocco della chiave. | |||
Il | |||
=Configurazione= | =Configurazione= | ||
== | ==Generazione delle chiavi== | ||
Per poter gestire questo processo di autenticazione è necessario generare una coppia di chiavi (pubblica e privata). Il comando è semplice: | |||
<pre> | <pre> | ||
$ ssh-keygen -t dsa -b 1024 | |||
</pre> | </pre> | ||
dove '''-b''' rappresenta la lunghezza della chiave e '''-t''' viene usato per indicare il tipo di chiave. I possibili valori sono: | |||
; rsa1 : per la versione 1 del protocollo (altamente sconsigliata) | |||
; rsa o dsa : per al versione 2 del protocollo. | |||
Durante la generazione delle chiavi ci viene chiesto dove salvarle (normalmente è ~/.ssh/id_dsa).. il valore di default va bene! | |||
Per quanto riguarda la passphrase richiesta, sempre durante la generazione delle chiavi, ci sono due opzioni, entrambe con pregi e difetti: | |||
* inserire una passphrase: dal punto di vista della sicurezza, è ottimo... dal punto di vista pratico, però, si è di fronte al problema che è necessario inserirla ad ogni connessione (nel caso di più host, comunque, rappresenterebbe un sistema molto comodo di accesso tramite la stessa ''passphrase'', invece di una password diversa per ogni host) | |||
* inserire una passphrase vuota: dal punto di vista della sicurezza lascia un po' a desiderare, in quanto il furto della chiave permetterebbe l'accesso incondizionato agli host; dal punto di vista pratico, invece, è comodissimo, in quanto slega l'accesso alla macchina remota dalla richiesta di password. | |||
==Copia della chiave pubblica== | |||
La chiave privata, come illustrato nel funzionamento, viene utilizzato dal computer che richiede la connessione (client), mentre quella pubblica deve essere salvata sul computer al quale connettersi (server). | |||
Prendiamo, ad esempio, la seguente chiave pubblica (contenuta nel file ''~/.ssh/id_dsa.pub'' presente sul client): | |||
<pre> | <pre> | ||
ssh-dss AAAAB3NzaC1kc3MAAACBAPe/PbwWkXR7qI8hcbxLRUS0/fIul0eUiSvu/hnXZXZDIZjVi1VlIbipff6n7Z6vF0hJRg6l | |||
[cut] | |||
gjLLTka0/QF8SP4JYFKs0Iasdju6y1slmx9IdzQt+hvMqF2+PPchCWcyBP3S5Zje4T6Az1MgrvuwCXIW6oUZXCA== user@comp | |||
</pre> | </pre> | ||
Copiamo il contenuto nel file ''~/.ssh/authorized_keys2`` presente sul server, nella home relativa all'utente usato su quella macchina e salviamo il file. | |||
==Test di funzionamento== | |||
Se tutto è stato eseguito correttamente, sarà possibile connettersi al server tramite un semplice: | |||
<pre> | <pre> | ||
$ | $ ssh utente@server | ||
</pre> | </pre> | ||
Se è stata inserita, durante la generazione delle chiavi, una passphrase, sarà necessario usarla per completare il processo di autenticazione, altrimenti apparirà direttamente il prompt della macchina remota. | |||
== | ==Approfondimenti== | ||
* [http://www.debian.org/doc/manuals/reference/ch-tune.it.html#s-ssh La guida Debian: SSH] | |||
[[Categoria:Networking]][[Categoria:Sicurezza]] | |||
contributi