271
contributi
(RSA vs DSA) |
|||
Riga 11: | Riga 11: | ||
Per poter gestire questo processo di autenticazione è necessario generare una coppia di chiavi (pubblica e privata). Il comando è semplice: | Per poter gestire questo processo di autenticazione è necessario generare una coppia di chiavi (pubblica e privata). Il comando è semplice: | ||
<pre> | <pre> | ||
$ ssh-keygen | $ ssh-keygen | ||
</pre> | </pre> | ||
Si può voler scegliere una lunghezza maggiore (default 2048) con | |||
<pre> | |||
$ ssh-keygen -b 4096 | |||
</pre> | |||
L'uso dell'opzione <code>'''-t'''</code> per indicare il tipo di chiave è [http://guide.debianizzati.org/index.php/SSH_sicuro#Configurazione_Client fortemente sconsigliato]. | |||
Durante la generazione delle chiavi ci viene chiesto dove salvarle (normalmente è <code>~/.ssh/ | Durante la generazione delle chiavi ci viene chiesto dove salvarle (normalmente è <code>~/.ssh/id_rsa</code>): 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: | 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: 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. | * 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. | ||
In realtà questo discorso può valere in caso di utilizzo non interattivo come ad esempio in uno script, negli altri casi si può ricorrere a <code>ssh-agent</code> per mantenere in cache le password per la sessione corrente: | |||
<pre> | |||
$ ssh-add ~/.ssh/id_rsa | |||
</pre> | |||
=== Copia manuale della chiave pubblica === | === Copia manuale 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). | 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 <code>~/.ssh/ | Prendiamo, ad esempio, la seguente chiave pubblica (contenuta nel file <code>~/.ssh/id_rsa.pub</code> presente sul client): | ||
<pre> | <pre> | ||
ssh- | ssh-rsa AAAAB3NzaC1kc3MAAACBAPe/PbwWkXR7qI8hcbxLRUS0/fIul0eUiSvu/hnXZXZDIZjVi1VlIbipff6n7Z6vF0hJRg6l | ||
[cut] | [cut] | ||
gjLLTka0/QF8SP4JYFKs0Iasdju6y1slmx9IdzQt+hvMqF2+PPchCWcyBP3S5Zje4T6Az1MgrvuwCXIW6oUZXCA== user@ | gjLLTka0/QF8SP4JYFKs0Iasdju6y1slmx9IdzQt+hvMqF2+PPchCWcyBP3S5Zje4T6Az1MgrvuwCXIW6oUZXCA== user@host | ||
</pre> | </pre> | ||
Riga 39: | Riga 46: | ||
<pre> | <pre> | ||
$ ssh-copy-id -i ~/.ssh/ | $ ssh-copy-id -i ~/.ssh/id_rsa.pub utente@server | ||
</pre> | </pre> | ||
oppure ancora utilizzando <code>scp</code>: | oppure ancora utilizzando <code>scp</code>: | ||
<pre> | <pre> | ||
$ scp -P <porta> ~/.ssh/ | $ scp -P <porta> ~/.ssh/id_rsa.pub <username>@<ip del server>:~/.ssh/authorized_keys | ||
</pre> | </pre> | ||
I permessi sulla directory remota <code>~/.ssh</code> devono essere settati a: | I permessi sulla directory remota <code>~/.ssh</code> devono essere settati a: | ||
Riga 89: | Riga 96: | ||
== Approfondimenti == | == Approfondimenti == | ||
* [http://www.debian.org/doc/manuals/reference/ | * [http://www.debian.org/doc/manuals/reference/ch06.it.html#_the_remote_access_server_and_utility_ssh La guida Debian: SSH] | ||
[[Categoria:SSH server e amministrazione remota]] | [[Categoria:SSH server e amministrazione remota]] |
contributi