1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head xmlns="http://www.w3.org/1999/xhtml">
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<title xmlns="">Server OpenSSH</title>
<link rel="stylesheet" href="../../libs/ubuntu-book.css" type="text/css" />
<link rel="home" href="index.html" title="Guida a Ubuntu Server" />
<link rel="up" href="remote-administration.html" title="Capitolo 5. Amministrazione remota" />
<link rel="prev" href="remote-administration.html" title="Capitolo 5. Amministrazione remota" />
<link rel="next" href="puppet.html" title="Puppet" />
<link rel="copyright" href="legal.html" title="Riconoscimenti e licenza" />
</head>
<link href="http://help.ubuntu-it.org/favicon.ico" rel="shortcut icon" />
<body>
<div id="page-border-left-repeat">
<div id="page-border-right-repeat">
<script type="text/javascript">
var gaJsHost = (("https:" == document.location.protocol) ? "https://ssl." : "http://www.");
document.write(unescape("%3Cscript src='" + gaJsHost + "google-analytics.com/ga.js' type='text/javascript'%3E%3C/script%3E"));
</script>
<script type="text/javascript">
try {
var pageTracker = _gat._getTracker("UA-8147493-2");
pageTracker._trackPageview();
} catch(err) {}</script>
<div id="page-border-top-repeat">
<div id="header">
<div id="header-navigation">
<ul>
<li>
<a href="http://www.ubuntu-it.org">Web</a>
</li>
<li>
<a href="http://wiki.ubuntu-it.org">Documentazione</a>
</li>
<li>
<a href="http://forum.ubuntu-it.org">Forum</a>
</li>
<li>
<a href="http://planet.ubuntu-it.org">Planet</a>
</li>
</ul>
</div>
<form action="http://help.ubuntu-it.org/11.04/ubuntu/search.php" id="cse-search-box">
<div>
<input type="text" name="s" size="28" title="search" />
<input type="submit" value="Cerca" title="search" />
</div>
</form>
</div>
</div>
<div>
<div id="bodyarea">
<div class="pagelocation"><a href="http://help.ubuntu-it.org/">Documentazione di Ubuntu</a> > <a href="http://help.ubuntu-it.org/11.04/ubuntu/index.html">Ubuntu 11.04</a> > <span class="breadcrumb-link"><a href="index.html">Guida a Ubuntu Server</a></span> > <span class="breadcrumb-link"><a href="remote-administration.html">Amministrazione remota</a></span> > <span class="breadcrumb-node">Server OpenSSH</span></div>
<div xmlns="http://www.w3.org/1999/xhtml" class="sect1" title="Server OpenSSH">
<div class="titlepage">
<div>
<div>
<h2 class="title" style="clear: both"><a id="openssh-server"></a>Server OpenSSH</h2>
</div>
</div>
</div>
<div class="sect2" title="Introduzione">
<div class="titlepage">
<div>
<div>
<h3 class="title"><a id="openssh-introduction"></a>Introduzione</h3>
</div>
</div>
</div>
<p>Questa sezione introduce una serie di strumenti per il controllo remoto di computer e per il trasferimento di dati tra i computer in rete di nome <span class="emphasis"><em>OpenSSH</em></span>. Vengono spiegate alcune delle possibili impostazioni del server OpenSSH e come modificarne la configurazione in Ubuntu.</p>
<p>OpenSSH è una versione libera della famiglia di protocolli e strumenti SSH (Secure SHell) per il controllo remoto di un computer o per il trasferimento di file tra computer. Gli strumenti tradizionali usati per svolgere queste funzioni, come <span class="application"><strong>telnet</strong></span> o <span class="application"><strong>rcp</strong></span>, sono insicuri e quando utilizzati trasmettono la password dell'utente in chiaro. OpenSSH fornisce un demone server e degli strumenti lato client per facilitare operazioni di controllo remoto e trasferimento di file in sicurezza e con crittografia, sostituendo in modo completo gli strumenti tradizionali.</p>
<p>Il componente server di OpenSSH, <span class="application"><strong>sshd</strong></span>, è in ascolto continuo per le connessioni in arrivo dei client, qualunque sia lo strumento usato sui client. Quando avviene una richiesta di connessione, per mezzo di <span class="application"><strong>sshd</strong></span> viene impostata la corretta connessione in base allo strumento utilizzato dal client. Per esempio, se il computer remoto sta effettuando una connessione con l'applicazione client <span class="application"><strong>ssh</strong></span>, il server OpenSSH imposta, dopo l'autenticazione, una sessione di controllo remoto. Se un utente remoto si connette a un server OpenSSH con <span class="application"><strong>scp</strong></span>, il demone server OpenSSH inizializza, dopo l'autenticazione, una procedura di copia sicura di file tra il server e il client. OpenSSH permette l'utilizzo di diversi metodi di autenticazione, inclusi password semplice, chiave pubblica e ticket <span class="application"><strong>Kerberos</strong></span>.</p>
</div>
<div class="sect2" title="Installazione">
<div class="titlepage">
<div>
<div>
<h3 class="title"><a id="openssh-installation"></a>Installazione</h3>
</div>
</div>
</div>
<p>L'installazione delle applicazioni server e client di OpenSSH è semplice. Per installare l'applicazione client OpenSSH sui sistemi Ubuntu, usare questo comando al prompt di un terminale:</p>
<pre class="screen">
<span class="command"><strong>sudo apt-get install openssh-client</strong></span>
</pre>
<p>Per installare l'applicazione server di OpenSSH e i relativi file di supporto, usare questo comando al prompt di un terminale:</p>
<pre class="screen">
<span class="command"><strong>sudo apt-get install openssh-server</strong></span>
</pre>
<p>È possibile scegliere di installare il pacchetto <span class="application"><strong>openssh-server</strong></span> durante il processo di installazione della Server Edition.</p>
</div>
<div class="sect2" title="Configurazione">
<div class="titlepage">
<div>
<div>
<h3 class="title"><a id="openssh-configuration"></a>Configurazione</h3>
</div>
</div>
</div>
<p>È possibile configurare il comportamento predefinito dell'applicazione server di OpenSSH, <span class="application"><strong>sshd</strong></span>, modificando il file <code class="filename">/etc/ssh/sshd_config</code>. Per maggiori informazioni riguardo le direttive di configurazione usate in questo file, consultare l'appropriata pagina di manuale inserendo, a un prompt di terminale, il seguente comando:</p>
<pre class="screen">
<span class="command"><strong>man sshd_config</strong></span>
</pre>
<p>All'interno del file di configurazione di <span class="application"><strong>sshd</strong></span> sono presenti diverse direttive per controllare impostazioni riguardo la comunicazione o i mezzi di autenticazione. Di seguito vengono riportati degli esempi di direttive di configurazione che è possibile modificare modificando il file <code class="filename">/etc/ssh/sshd_config</code>.</p>
<div class="tip" title="Suggerimento" style="margin-left: 0.5in; margin-right: 0.5in;">
<table border="0" summary="Tip">
<tr>
<td rowspan="2" align="center" valign="top" width="25">
<img alt="[Suggerimento]" src="../../libs/admon/tip.png" />
</td>
<th align="left"></th>
</tr>
<tr>
<td align="left" valign="top">
<p>Prima di modificare il file di configurazione, è consigliato fare una copia del file originale e proteggerla dalla scrittura, così da avere le impostazioni originali come riferimento ed eventualmente riusarle se necessario.</p>
<p>Copiare il file <code class="filename">/etc/ssh/sshd_config</code> e proteggerlo da scrittura, con il seguente comando, digitando a un prompt di terminale:</p>
</td>
</tr>
</table>
</div>
<pre class="screen">
<span class="command"><strong>sudo cp /etc/ssh/sshd_config /etc/ssh/sshd_config.original</strong></span>
<span class="command"><strong>sudo chmod a-w /etc/ssh/sshd_config.original</strong></span>
</pre>
<p>Quelli che seguono sono esempi delle direttive di configurazione che è possibile cambiare:</p>
<div class="itemizedlist">
<ul class="itemizedlist" type="disc">
<li class="listitem">
<p>Per impostare OpenSSH in modo da restare in ascolto sulla porta TCP 2222 invece che sulla predefinita porta TCP 22, cambiare la direttiva Port come segue:</p>
<p>Port 2222</p>
</li>
<li class="listitem">
<p>Per consentire l'utilizzo in <span class="application"><strong>sshd</strong></span> di credenziali di accesso basate su chiave pubblica, aggiungere o modificare la riga:</p>
<p>PubkeyAuthentication yes</p>
<p>Nel file <code class="filename">/etc/ssh/sshd_config</code> assicurarsi che la riga non sia commentata.</p>
</li>
<li class="listitem">
<p>Per far sì che il server OpenSSH mostri il contenuto del file <code class="filename">/etc/issue.net</code> come un banner di pre-accesso, aggiungere o modificare la riga:</p>
<p>Banner /etc/issue.net</p>
<p>Nel file <code class="filename">/etc/ssh/sshd_config</code>.</p>
</li>
</ul>
</div>
<p>Dopo aver apportato dei cambiamenti al file <code class="filename">/etc/ssh/sshd_config</code>, salvarlo e, per rendere effettivi i cambiamenti, riavviare il demone <span class="application"><strong>sshd</strong></span> usando il seguente comando:</p>
<pre class="screen">
<span class="command"><strong>sudo /etc/init.d/ssh restart</strong></span>
</pre>
<div class="warning" title="Avvertimento" style="margin-left: 0.5in; margin-right: 0.5in;">
<table border="0" summary="Warning">
<tr>
<td rowspan="2" align="center" valign="top" width="25">
<img alt="[Avvertimento]" src="../../libs/admon/warning.png" />
</td>
<th align="left"></th>
</tr>
<tr>
<td align="left" valign="top">
<p>Per poter adattare il comportamento dell'applicazione server alle proprie necessità, sono disponibili molte altre direttive di configurazione per <span class="application"><strong>sshd</strong></span>. Se però l'unico metodo per accedere a un server è <span class="application"><strong>ssh</strong></span>, è necessario prestare molta attenzione. Un qualsiasi errore nella configurazione di <span class="application"><strong>sshd</strong></span> attraverso <code class="filename">/etc/ssh/sshd_config</code> può precludere l'accesso al server dopo il suo riavvio oppure impedire l'avvio stesso di <span class="application"><strong>sshd</strong></span> a causa di una errata direttiva di configurazione. Perciò è necessaria molta attenzione nella modifica di questo file su un server remoto.</p>
</td>
</tr>
</table>
</div>
</div>
<div class="sect2" title="Chiavi SSH">
<div class="titlepage">
<div>
<div>
<h3 class="title"><a id="openssh-keys"></a>Chiavi SSH</h3>
</div>
</div>
</div>
<p>Le <span class="emphasis"><em>chiavi</em></span> SSH consentono l'autenticazione tra due host senza la necessità di una password. La'utenticazione con chiave SSH utilizza due chiavi, una <span class="emphasis"><em>privata</em></span> e una <span class="emphasis"><em>pubblica</em></span>.</p>
<p>Per generare le chiavi, in un terminale, digitare:</p>
<pre class="screen">
<span class="command"><strong>ssh-keygen -t dsa</strong></span>
</pre>
<p>Vengono generate le chiavi usando un'autenticazione <span class="emphasis"><em>DSA</em></span>. Durante questo processo viene chiesto di inserire un password, premere semplicemente <span class="emphasis"><em>Invio</em></span> quando chiesto di creare la chiave.</p>
<p>La chiave <span class="emphasis"><em>pubblica</em></span> viene salvata, in modo predefinito, nel file <code class="filename">~/.ssh/id_dsa.pub</code>, mentre quella <span class="emphasis"><em>privata</em></span> in <code class="filename">~/.ssh/id_dsa</code>. Ora, copiare il file <code class="filename">id_dsa.pub</code> nell'host remoto e aggiungere il suo contenuto al file <code class="filename">~/.ssh/authorized_keys</code> digitando:</p>
<pre class="screen">
<span class="command"><strong>ssh-copy-id NOME_UTENTE@HOST_REMOTO</strong></span>
</pre>
<p>Infine, controllare i permessi del file <code class="filename">authorized_keys</code>: solo l'utente autenticato dovrebbe avere i permessi di lettura e scrittura. Nel caso non fossero corretti, modificarli:</p>
<pre class="screen">
<span class="command"><strong>chmod 600 .ssh/authorized_keys</strong></span>
</pre>
<p>Dovrebbe essere possibile ora collegarsi via SSH all'host senza l'utilizzo di una password.</p>
</div>
<div class="sect2" title="Riferimenti">
<div class="titlepage">
<div>
<div>
<h3 class="title"><a id="openssh-references"></a>Riferimenti</h3>
</div>
</div>
</div>
<div class="itemizedlist">
<ul class="itemizedlist" type="disc">
<li class="listitem">
<p>
<a class="ulink" href="https://help.ubuntu.com/community/SSH" target="_top">Ubuntu Wiki SSH</a> page.
</p>
</li>
<li class="listitem">
<p>
<a class="ulink" href="http://www.openssh.org/" target="_top">Sito web di OpenSSH</a>
</p>
</li>
<li class="listitem">
<p>
<a class="ulink" href="https://wiki.ubuntu.com/AdvancedOpenSSH" target="_top">Pagina wiki di OpenSSH avanzato</a>
</p>
</li>
</ul>
</div>
</div>
</div>
<div xmlns="http://www.w3.org/1999/xhtml" class="navfooter">
<hr />
<table width="100%" summary="Navigation footer">
<tr>
<td width="40%" align="left"><a accesskey="p" href="remote-administration.html"><img src="../../libs/navig/prev.png" alt="Indietro" /></a> </td>
<td width="20%" align="center">
<a accesskey="u" href="remote-administration.html">
<img src="../../libs/navig/up.png" alt="Risali" />
</a>
</td>
<td width="40%" align="right"> <a accesskey="n" href="puppet.html"><img src="../../libs/navig/next.png" alt="Avanti" /></a></td>
</tr>
<tr>
<td width="40%" align="left" valign="top">Capitolo 5. Amministrazione remota </td>
<td width="20%" align="center">
<a accesskey="h" href="index.html">
<img src="../../libs/navig/home.png" alt="Partenza" />
</a>
</td>
<td width="40%" align="right" valign="top"> Puppet</td>
</tr>
</table>
</div>
</div>
</div>
<div id="page-border-bottom-repeat">
<div id="footer">
<div id="copyright">
Ubuntu e Canonical sono marchi registrati da Canonical Ltd.
</div>
</div>
</div>
<div id="page-border-right-top"></div>
<div id="page-border-right-bottom"></div>
</div>
<div id="page-border-left-top"></div>
<div id="page-border-left-bottom"></div>
</div>
<p></p>
</body>
</html>