openssh-server.html 17.3 KB
<?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> &gt; <a href="http://help.ubuntu-it.org/11.04/ubuntu/index.html">Ubuntu 11.04</a> &gt; <span class="breadcrumb-link"><a href="index.html">Guida a Ubuntu Server</a></span> &gt; <span class="breadcrumb-link"><a href="remote-administration.html">Amministrazione remota</a></span> &gt; <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>