Configurazione del client OpenSSH

Per collegarvi a un server OpenSSH tramite una macchina client, è necessario aver installato i pacchetti openssh-clients e openssh.

Uso del comando ssh

Il comando ssh può essere considerato come una valida alternativa ai comandi rlogin, rsh e telnet dal punto di vista della sicurezza. Tale comando permette di collegarsi e di eseguire comandi su una macchina remota.

L'uso del comando ssh è simile al comando telnet. Per collegarsi al calcolatore remoto penguin.example.net, digitate il comando seguente:
ssh penguin.example.net
La prima volta che vi collegate a una macchina remota tramite il comando ssh, compare il messaggio seguente.
The authenticity of host 'penguin.example.net' can't be established.
DSA key fingerprint is 94:68:3a:3a:bc:f3:9a:9b:01:5d:b3:07:38:e2:11:0c.
Are you sure you want to continue connecting (yes/no)? 
Digitate yes per continuare. In questo modo aggiungete il server all'elenco degli host:
Warning: Permanently added 'penguin.example.net' (DSA) to the list of known hosts.
Successivamente compare il prompt per l'inserimento della password di accesso al server remoto. Una volta inserita la password, compare il prompt della shell. Se state utilizzando il comando ssh senza aver specificato alcuna opzione nella linea di comando, il client ssh mantiene il nome dell'utente. Se volete specificare un altro nome utente, utilizzate l'esempio seguente:
ssh -l username penguin.example.net
È anche possibile utilizzare la sintassi ssh username@penguin.example.net.

Il comando ssh può essere utilizzato per eseguire direttamente un comando su una macchina remota. La sintassi è la seguente: ssh hostname command. Per esempio, se volete eseguire il comando ls /usr/share/doc sulla macchina remota penguin.example.net, digitate il comando
ssh penguin.example.net ls /usr/share/doc
Dopo aver inserito la password, compare a video il contenuto della directory /usr/share/doc.

Uso del comando scp

Il comando scp viene utilizzato per trasferire dei file fra calcolatori tramite una connessione sicura e criptata.scp e` simile al comando rcp.

La sintassi generale per il trasferimento di file è la seguente: scp filelocale nomeutente@nomehost:/nuovofile. Il file filelocale specifica la sorgente e nomeutente@nomehost:/nuovofile specifica la destinazione.

Per trasferire il file locale shadowman sul calcolatore remoto penguin.example.net utilizzando il proprio account, digitate il comando (sostituire nomeutente con il proprio nome utente):
scp shadowman nomeutente@penguin.example.net:/home/nomeutente
Questo comando trasferisce il file locale shadowman in /home/nomeutente/shadowman sul calcolatore penguin.example.net.

La sintassi per trasferire un file da un calcolatore remoto sul calcolatore locale è la seguente: scp nomeutente@nomehost:/fileremoto /nuovofilelocale. Il fileremoto specifica il file sorgente, newlocalfile specifica la destinazione.

Piu` file possono essere specificati come file sorgenti. Per esempio per trasferire il contenuto della directory /downloads nella directory uploads già esistente sulla macchina remota penguin.example.net, digitate al prompt della shell il comando seguente:
scp /downloads/* username@penguin.example.net:/uploads/

Comando sftp

Il comando sftp è utilizzato per sessioni interattive FTP sicure e criptate. La sintassi del comando è sftp nomeutente@nomehost.com. Completata la fase di autenticazione, potete utilizzare il set di comandi messi a disposizione da FTP. Per maggiori informazioni, fate riferimento alla pagina man del comando sftp. Per leggere la pagina man, eseguite il comando man sftp al prompt della shell. L'utility sftp è disponibile dalla versione 2.5.0p1 di OpenSSH.

Generazione delle chiavi di autorizzazione

Se non volete inserire la password ogni volta che utilizzate i comandi ssh, scp o sftp, potete generare una coppia di chiavi di autorizzazione.

NotaCoppia di chiavi di autorizzazione separate
 

È necessario separare le coppie di chiavi di autorizzazione in funzione del protocollo utilizzato: SSH 1 (RSA) e SSH 2 (DSA).

AttenzioneOgni utente ha la propria coppia di chiavi
 

Le chiavi devono essere generate per ogni utente. Per generare le chiavi per un utente, eseguite la procedura seguente collegandovi con il votro nome utente. Se vi collegate come root, solo l'utente root potrà utilizzare le chiavi.

Generazione di una coppia di chiavi DSA

DSA viene utilizzato dal protocollo SSH 2 ed è preimpostato per Red Hat Linux 7.1.

  1. Per generare una coppia di chiavi DSA compatibile con la versione 2.0 del protocollo, digitate il seguente comando:

    ssh-keygen -t dsa

    Accettate la posizione di default del file ~/.ssh/id_dsa. Inserite una frase (diversa dalla password del vostro account) e confermatela inserendola un'altra volta. [1]

    SuggerimentoA cosa serve la frase?
     

    Una frase è una sequenza di parole e caratteri utilizzate per autenticare l'utente. Al contrario delle password, le frasi possono contenere anche il carattere tab e lo spazio. Inoltre le frasi sono generalmente più lunghe poichè possono contenere più parole.

  2. Cambiate i permessi della directory .ssh tramite il comando chmod 755 ~/.ssh.

  3. Copiate il contenuto della directory ~/.ssh/id_dsa.pub in ~/.ssh/authorized_keys2 sul calcolatore che utilizzate per collegarvi. Se il file ~/.ssh/authorized_keys2 non esiste, potete copiare il file ~/.ssh/id_dsa.pub nel file ~/.ssh/authorized_keys2. [1]

  4. Se state utilizzando GNOME, proseguite la lettura dalla sezione la sezione Configurazione di ssh-agent con GNOME. Se non state utilizzando X Window, proseguite dalla sezione la sezione Configurazione di ssh-agent.

Generazione di una coppia di chiavi RSA per la versione 2.0

La procedura seguente spiaga come generare una coppia di chiavi RSA per la versione 2.0 del protocollo SSH.

  1. Per generare una coppia di chiavi RSA per la versione 2.0 del protocollo, digitate il comando seguente al prompt della shell:

    ssh-keygen -t rsa

    Accettate la posizione predefinita del file ~/.ssh/id_rsa. Inserite una frase di accesso diversa dalla password del vostro account e confermatela digitandola una seconda volta. . [1]

  2. Modificate i permessi della directory .ssh digitando il comando chmod 755 ~/.ssh.

  3. Copiate il contenuto di ~/.ssh/id_rsa.pub nel file ~/.ssh/authorized_keys2 contenuto nella macchina alla quale vi volete connettere. Se ~/.ssh/authorized_keys2 non esiste, copiate il file ~/.ssh/id_rsa.pub nel file ~/.ssh/authorized_keys2.[1]

  4. Se state eseguendo GNOME, andate alla la sezione Configurazione di ssh-agent con GNOME. Se non state eseguendo il sistema X Window, consultate la la sezione Configurazione di ssh-agent.

Generazione di una coppia di chiavi RSA per le versioni 1.3 e 1.5

Eseguite la procedura seguente per generare una coppia di chiavi RSA per la versione 1 del protocollo SSH. Se effettuate solo connessioni tra sistemi Red Hat Linux 7.1, non dovete generare una coppia di chiavi RSA.

  1. Per generare une coppia di chiavi RSA (per le versioni 1.3 e 1.5), digitate il comando seguente:
    ssh-keygen
    Accettate la posizione predefinita del file (~/.ssh/identity). Digitate una frase di accesso diversa dalla vostra password di account e confermatela digitandola una seconda volta.

  2. Modificate i permessi della directory .ssh e le vostre chiavi tramite i comandi chmod 755 ~/.ssh e chmod 644 ~/.ssh/identity.pub.

  3. Copiate il contenuto di ~/.ssh/identity.pub nel file ~/.ssh/authorized_keys della macchina che volete collegare. Se il file ~/.ssh/authorized_keys non esiste, copiate il file ~/.ssh/identity.pub nel file ~/.ssh/authorized_keys della macchina remota. [1]

  4. Se state eseguendo GNOME, andate alla la sezione Configurazione di ssh-agent con GNOME, altrimenti consultate la la sezione Configurazione di ssh-agent.

Configurazione di ssh-agent con GNOME

L'utility ssh-agent può essere usata per salvare la password ed evitare di ridigitarla ogni volta che lanciate una connessione ssh o scp. In GNOME, l'utility openssh-askpass-gnome può essere usata per richidere la frase di accesso al momento della connessione a GNOME e conservarla fino alla disconnessione. Le connessioni ssh e scp effettuate durante la sessione GNOME non richiedono alcuna password o frase di accesso. Se non state usando GNOME, consultate la la sezione Configurazione di ssh-agent.

Per salvare la frase di accesso durante la sessione GNOME, eseguite questa procedura:

  1. Il vostro sistema deve contenere il pacchetto openssh-askpass-gnome; per sapere se disponete di tale pacchetto, digitate il comando rpm -q openssh-askpass-gnome. Il pacchetto può essere installato da uno dei CD-ROM Red Hat, da un sito mirror FTP Red Hat o usando Red Hat Network.

  2. Se non avete il file ~/.Xclients, eseguite switchdesk per crearlo. Nel file ~/.Xclients, modificate la linea seguente:
    exec $HOME/.Xclients-default
    Change the line so that it instead reads:
    exec	/usr/bin/ssh-agent $HOME/.Xclients-default

  3. Aprite il Centro di controllo di GNOME (Tasto del menu principale di GNOME => Programs => Settings => GNOME Control Center) e selezionate Session => Startup Programs. Fate clic su Add e digitate /usr/bin/ssh-add nel campo Startup Command. Attribuiteli un numero di priorità superiore a qualisasi altro comando in modo che venga eseguito per ultimo. Vi consigliamo di attribuire a ssh-add un numero uguale o superiore a 70. Più alto è il numero, più bassa è la priorità. Se avete altri programmi in elenco, questo deve avere la priorità più bassa. Selezionate OK per salvare le impostazioni e uscire dal Centro di controllo di GNOME.

  4. Scollegatevi e ricollegatevi a GNOME; in altre parole, riavviate X. Una volta avviato GNOME, una finestra di dialogo si apre e chiede all'utente di inserire la frase di accesso. Inserite la frase di accesso richiesta. Se sono state configurate sia le chiavi DSA che RSA, il sistema richiede entrambe le coppie. Da ora in poi, i comandi ssh, scp e sftp non richiedono alcuna password.

Configurazione di ssh-agent

Il comando ssh-agent permette di registrare la password per non doverla digitare ogni volta che viene stabilita una connessione ssh o scp. Se non usate il sistema X Window, eseguite la procedura di seguito riportata. Se siete in GNOME ma non volete configurarlo in modo che vi chieda la vostra frase di accesso al momento del log in (vedere la sezione Configurazione di ssh-agent con GNOME), la procedura funziona in una finestra di terminale, come una finestra xterm. Se state eseguendo X ma non GNOME, la procedura funziona in una finestra di terminale come xterm, ma la vostra frase di accesso viene memorizzata solo per quella finestra. Non si tratta di un'impostazione globale.

  1. Al prompt della shell, digitate il comando:
    exec /usr/bin/ssh-agent $SHELL
    e poi
    ssh-add 
    In seguito digitate la frase di accesso. Se sono configurate sia le chiavi DSA che RSA, vi vengono richieste entrambe le coppie.

  2. Quando vi scollegate, la vostra frase di accesso viene cancellata. Ogni volta che vi collegate a una console virtuale o aprite una finestra di terminale, dovete eseguire questi due comandi.

Note

[1]

Il simbolo ~ indica la directory home dell'utente collegato. Per maggiori dettagli, consultate la Official Red Hat Linux Getting Started Guide.