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 OpenSSH. Vengono spiegate alcune delle possibili impostazioni del server OpenSSH e come modificarne la configurazione in Ubuntu.
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 telnet o rcp, 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.
Il componente server di OpenSSH, sshd, è 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 sshd 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 ssh, il server OpenSSH imposta, dopo l'autenticazione, una sessione di controllo remoto. Se un utente remoto si connette a un server OpenSSH con scp, 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 Kerberos.
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:
sudo apt-get install openssh-client
Per installare l'applicazione server di OpenSSH e i relativi file di supporto, usare questo comando al prompt di un terminale:
sudo apt-get install openssh-server
È possibile scegliere di installare il pacchetto openssh-server durante il processo di installazione della Server Edition.
È possibile configurare il comportamento predefinito dell'applicazione server di OpenSSH, sshd, modificando il file /etc/ssh/sshd_config
. 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:
man sshd_config
All'interno del file di configurazione di sshd 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 /etc/ssh/sshd_config
.
![]() |
|
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. Copiare il file |
sudo cp /etc/ssh/sshd_config /etc/ssh/sshd_config.original sudo chmod a-w /etc/ssh/sshd_config.original
Quelli che seguono sono esempi delle direttive di configurazione che è possibile cambiare:
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:
Port 2222
Per consentire l'utilizzo in sshd di credenziali di accesso basate su chiave pubblica, aggiungere o modificare la riga:
PubkeyAuthentication yes
Nel file /etc/ssh/sshd_config
assicurarsi che la riga non sia commentata.
Per far sì che il server OpenSSH mostri il contenuto del file /etc/issue.net
come un banner di pre-accesso, aggiungere o modificare la riga:
Banner /etc/issue.net
Nel file /etc/ssh/sshd_config
.
Dopo aver apportato dei cambiamenti al file /etc/ssh/sshd_config
, salvarlo e, per rendere effettivi i cambiamenti, riavviare il demone sshd usando il seguente comando:
sudo /etc/init.d/ssh restart
![]() |
|
Per poter adattare il comportamento dell'applicazione server alle proprie necessità, sono disponibili molte altre direttive di configurazione per sshd. Se però l'unico metodo per accedere a un server è ssh, è necessario prestare molta attenzione. Un qualsiasi errore nella configurazione di sshd attraverso |
Le chiavi SSH consentono l'autenticazione tra due host senza la necessità di una password. La'utenticazione con chiave SSH utilizza due chiavi, una privata e una pubblica.
Per generare le chiavi, in un terminale, digitare:
ssh-keygen -t dsa
Vengono generate le chiavi usando un'autenticazione DSA. Durante questo processo viene chiesto di inserire un password, premere semplicemente Invio quando chiesto di creare la chiave.
La chiave pubblica viene salvata, in modo predefinito, nel file ~/.ssh/id_dsa.pub
, mentre quella privata in ~/.ssh/id_dsa
. Ora, copiare il file id_dsa.pub
nell'host remoto e aggiungere il suo contenuto al file ~/.ssh/authorized_keys
digitando:
ssh-copy-id NOME_UTENTE@HOST_REMOTO
Infine, controllare i permessi del file authorized_keys
: solo l'utente autenticato dovrebbe avere i permessi di lettura e scrittura. Nel caso non fossero corretti, modificarli:
chmod 600 .ssh/authorized_keys
Dovrebbe essere possibile ora collegarsi via SSH all'host senza l'utilizzo di una password.