OpenSSH: differenze tra le versioni

 
(24 versioni intermedie di 4 utenti non mostrate)
Riga 1: Riga 1:
{{Versioni compatibili | Lenny | Squeeze | Wheezy | Jessie}}{{SSH}}
{{SSH
 
|successivo=SFTP: SSH File Transfer Protocol
}}{{Versioni compatibili}}{{OpenSSH}}
== Installazione ==
== Installazione ==


Riga 6: Riga 7:
Premesso questo, per installare sia client che server digitare da terminale con [[privilegi di amministrazione]]:
Premesso questo, per installare sia client che server digitare da terminale con [[privilegi di amministrazione]]:


<pre># aptitude install ssh</pre>
<pre># apt-get install ssh</pre>


Per installare il solo client:
Per installare il solo client:


<pre># aptitude install openssh-client</pre>
<pre># apt-get install openssh-client</pre>


Per installare il solo server:
Per installare il solo server:


<pre># aptitude install openssh-server</pre>
<pre># apt-get install openssh-server</pre>
 
Opzionalmente è possibile installare anche il pacchetto <code>openssh-blacklist</code>
 
<pre># aptitude install openssh-blacklist</pre>


== Utilizzo base ==
== Utilizzo base ==
Riga 131: Riga 128:
<pre>
<pre>
[...]
[...]
#  RSAAuthentication yes
#  PasswordAuthentication yes
#  PasswordAuthentication yes
     HostbasedAuthentication yes
     HostbasedAuthentication yes
Riga 142: Riga 138:
==== Server ====
==== Server ====


È necessario modificare il file <code>/etc/ssh/ssdh_config</code> decommentando <code>HostbasedAuthentication</code> e indicando ''yes'' come valore, oltre ad assicurarsi che lo siano anche i parametri <code>RSAAuthentication</code> e <code>PubkeyAuthentication</code>:
È necessario modificare il file <code>/etc/ssh/ssdh_config</code> decommentando <code>HostbasedAuthentication</code> e indicando ''yes'' come valore, oltre ad assicurarsi che lo sia anche il parametro <code>PubkeyAuthentication</code>:
<pre>
<pre>
[...]
[...]
RSAAuthentication yes
PubkeyAuthentication yes
PubkeyAuthentication yes
#AuthorizedKeysFile    %h/.ssh/authorized_keys
#AuthorizedKeysFile    %h/.ssh/authorized_keys
Riga 152: Riga 147:
IgnoreRhosts yes
IgnoreRhosts yes
# For this to work you will also need host keys in /etc/ssh_known_hosts
# For this to work you will also need host keys in /etc/ssh_known_hosts
RhostsRSAAuthentication no
# similar for protocol version 2
# similar for protocol version 2
HostbasedAuthentication yes
HostbasedAuthentication yes
Riga 182: Riga 176:
{{Box|Sicurezza e codice di sblocco|La sicurezza della procedura di autenticazione NON dipende in alcun modo dal codice di sblocco eventualmente scelto, infatti quest'ultimo serve solo a cifrare la propria chiave privata in modo che questa possa essere utilizzata solo dopo aver inserito correttamente il suddetto codice. Il fine è evidente, cioè impedire l'utilizzo immediato della chiave da parte di persone non autorizzate che in qualche modo siano riuscite a farsene una copia. Si noti che indicare un codice di sblocco implica il doverlo inserire ogni volta che si deve usare tale chiave.}}
{{Box|Sicurezza e codice di sblocco|La sicurezza della procedura di autenticazione NON dipende in alcun modo dal codice di sblocco eventualmente scelto, infatti quest'ultimo serve solo a cifrare la propria chiave privata in modo che questa possa essere utilizzata solo dopo aver inserito correttamente il suddetto codice. Il fine è evidente, cioè impedire l'utilizzo immediato della chiave da parte di persone non autorizzate che in qualche modo siano riuscite a farsene una copia. Si noti che indicare un codice di sblocco implica il doverlo inserire ogni volta che si deve usare tale chiave.}}


Supponendo di voler creare una coppia di chiavi ''rsa'' basterà quindi digitare:
Supponendo di voler creare una coppia di chiavi ''rsa'' basterà quindi digitare sulla '''macchina client''':
<pre>$ ssh-keygen</pre>
<pre>$ ssh-keygen</pre>
Se invece si vuole aumentare la robustezza delle chiavi è possibile aumentarne il numero di bit (e quindi anche leggermente il tempo di creazione) da 2048 a 4096:
Se invece si vuole aumentare la robustezza delle chiavi è possibile aumentarne il numero di bit (e quindi anche leggermente il tempo di creazione) da 2048 a 4096:
Riga 199: Riga 193:
==== Client ====
==== Client ====


Nessuna modifica da apportare al file <code>/etc/ssh/ssh_config</code> poiché i valori predefiniti delle variabili <code>RSAAuthentication</code> e <code>PubkeyAuthentication</code> risultano già essere impostati a ''yes''.
Nessuna modifica da apportare al file <code>/etc/ssh/ssh_config</code> poiché il valore predefinito della variabile <code>PubkeyAuthentication</code> risulta già essere impostato a ''yes''.
 
È tuttavia necessario appendere la chiave pubblica dell'utenza sul client al file <code>~/.ssh/authorized_keys</code> della stessa utenza sulla macchina remota. Tale operazione può essere eseguita manualmente dall'utente, ad esempio copiando e incollando il contenuto della chiave pubblica nel succitato file <code>authorized_keys</code>, oppure usando il seguente comando:
<pre>ssh-copy-id -i ~/.ssh/id_rsa.pub utenteremoto@nome_host_remoto</pre>
posto di aver utilizzato il percorso predefinito suggerito da <code>ssh-keygen</code>, diversamente sostituire tale percorso col proprio.<br/>
Si noti che usare <code>scp</code> è fattibile, tuttavia in tal caso si andrà a sovrascrivere il file <code>authorized_keys</code> cancellando quindi eventuali altre chiavi pubbliche presenti. Ad ogni modo il comando da usare in questo caso è:
<pre>$ scp ~/.ssh/id_rsa.pub utenteremoto@nome_host_remoto:~/.ssh/authorized_keys</pre>


==== Server ====
==== Server ====


Nessuna modifica da apportare al file <code>/etc/ssh/sshd_config</code> poiché i valori predefiniti delle variabili <code>RSAAuthentication</code> e <code>PubkeyAuthentication</code> risultano già essere impostati a ''yes''.
Nessuna modifica da apportare al file <code>/etc/ssh/sshd_config</code> poiché il valore predefinito della variabile <code>PubkeyAuthentication</code> risulta già essere impostato a ''yes''.
 
Rimane in ogni caso consigliato di:
* impedire l'autenticazione con utente <code>root</code> (<code>PermitRootLogin no</code>)
* disabilitare l'autenticazione tramite password (<code>PasswordAuthentication no</code>), ma evidentemente solo dopo aver verificato che l'autenticazione tramite chiave pubblica funziona.


È tuttavia necessario appendere la chiave pubblica dell'utenza sul client al file <code>~/.ssh/authorized_keys</code> della stessa utenza sulla macchina remota. Tale operazione può essere eseguita manualmente dall'utente, ad esempio copiando e incollando il contenuto della chiave pubblica nel succitato file <code>authorized_keys</code>, oppure usando il seguente comando:
<pre>ssh-copy-id -i ~/.ssh/id_rsa.pub utenteremoto@nomeremoto</pre>
posto di aver utilizzato il percorso predefinito suggerito da <code>ssh-keygen</code>, diversamente sostituire tale percorso col proprio.<br/>
Si noti che usare <code>scp</code> è fattibile, tuttavia in tal caso si andrà a sovrascrivere il file <code>authorized_keys</code> cancellando quindi eventuali altre chiavi pubbliche presenti. Ad ogni modo il comando da usare in questo caso è:
<pre>$ scp ~/.ssh/id_rsa.pub utenteremoto@nomeremoto:~/.ssh/authorized_keys</pre>


{{Box|Nota|Se si trasferisce manualmente la chiave pubblica facendo copia ed incolla tra due editor di testo si presti ATTENZIONE a non spezzare la chiave su più righe. È infatti obbligatoria l'indicazione di '''una sola chiave per riga'''.}}
{{Box|Nota|Se si trasferisce manualmente la chiave pubblica facendo copia ed incolla tra due editor di testo si presti ATTENZIONE a non spezzare la chiave su più righe. È infatti obbligatoria l'indicazione di '''una sola chiave per riga'''.}}
Riga 218: Riga 217:
* il file <code>~/.ssh/authorized_keys</code> sia accessibile solo e soltanto al proprietario (600);
* il file <code>~/.ssh/authorized_keys</code> sia accessibile solo e soltanto al proprietario (600);
* la home dell'utenza che si vuole usare sia scrivibile solo da essa (755, 750 o 700)}};
* la home dell'utenza che si vuole usare sia scrivibile solo da essa (755, 750 o 700)}};
<br/>


== Analisi dei file di configurazione ==
== Analisi dei file di configurazione ==
Riga 293: Riga 293:
[...]
[...]
</pre>
</pre>
== Informazioni superate ==
Opzionalmente è possibile installare anche il pacchetto <code>openssh-blacklist</code>
<pre># apt-get install openssh-blacklist</pre>
Nelle precedenti versioni di questa guida era scritto di impostare <code>RSAAuthentication yes</code>. Oggigiorno il parametro <code>RSAAuthentication</code> è stato deprecato.


== Approfondimenti ==
== Approfondimenti ==
Riga 315: Riga 323:
:[[Utente:Wtf|Wtf]] 13:05, 20 set 2015 (CEST)
:[[Utente:Wtf|Wtf]] 13:05, 20 set 2015 (CEST)
:[[Utente:HAL 9000|HAL 9000]] 13:56, 26 set 2015 (CEST)
:[[Utente:HAL 9000|HAL 9000]] 13:56, 26 set 2015 (CEST)
|Numero_revisori=2
:[[Utente:Ferdybassi|Ferdybassi]] 15:42, 12 mar 2016 (CET)
|Numero_revisori=3
}}
}}


[[Categoria:SSH_server_e_amministrazione_remota]]
[[Categoria:SSH_server_e_amministrazione_remota]]
2 894

contributi