Per collegarvi a un server OpenSSH tramite una macchina client, è necessario aver installato i pacchetti openssh-clients e openssh.
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 |
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)? |
Warning: Permanently added 'penguin.example.net' (DSA) to the list of known hosts. |
ssh -l 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 |
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 |
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/ |
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.
Se non volete inserire la password ogni volta che utilizzate i comandi ssh, scp o sftp, potete generare una coppia di chiavi di autorizzazione.
Coppia 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). |
Ogni 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. |
DSA viene utilizzato dal protocollo SSH 2 ed è preimpostato per Red Hat Linux 7.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]
A 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. |
Cambiate i permessi della directory .ssh tramite il comando chmod 755 ~/.ssh.
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]
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.
La procedura seguente spiaga come generare una coppia di chiavi RSA per la versione 2.0 del protocollo SSH.
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]
Modificate i permessi della directory .ssh digitando il comando chmod 755 ~/.ssh.
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]
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.
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.
Per generare une coppia di chiavi RSA (per le versioni 1.3 e 1.5), digitate il comando seguente:
ssh-keygen |
Modificate i permessi della directory .ssh e le vostre chiavi tramite i comandi chmod 755 ~/.ssh e chmod 644 ~/.ssh/identity.pub.
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]
Se state eseguendo GNOME, andate alla la sezione Configurazione di ssh-agent con GNOME, altrimenti consultate la la sezione Configurazione di ssh-agent.
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:
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.
Se non avete il file ~/.Xclients, eseguite switchdesk per crearlo. Nel file ~/.Xclients, modificate la linea seguente:
exec $HOME/.Xclients-default |
exec /usr/bin/ssh-agent $HOME/.Xclients-default |
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.
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.
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.
Al prompt della shell, digitate il comando:
exec /usr/bin/ssh-agent $SHELL |
ssh-add |
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.
[1] | Il simbolo ~ indica la directory home dell'utente collegato. Per maggiori dettagli, consultate la Official Red Hat Linux Getting Started Guide. |