SSH: differenze tra le versioni
(ancora esteso e integrato) |
(Fine definizione SSH) |
||
Riga 1: | Riga 1: | ||
== Descrizione == | |||
== | |||
'''SSH''' ('''S'''ecure '''SH'''ell, shell sicura) è un ''protocollo'' che permette di stabilire una consessione sicura tra due computer. SSH garantisce la segretezza e l'integrità dei dati scambiati tra due computer cifrando l'intera comunicazione, compresa la fase di autenticazione. SSH è usato usalmente per permettere il login su macchine remote ed eseguire comandi, ma supporta anche il ''tunneling'' che permette (tra le altre cose) di eseguire in locale applicazioni grafiche che risiedono sul computer remoto. | |||
== Implementazioni == | |||
Gli strumenti più diffusi per utilizzare il protocollo ssh sono la [http://www.openssh.com/ suite openssh] che è disponibile per OpenBSD, Linux, vari unices, Mac OS X, e MS Windows tramite Cygwin. | |||
Nella suite sono inclusi diversi client, tra cui il più famoso è <code>ssh</code> che permette di aprire appunto una shell remota connettendosi al server. Altri client sono <code>scp</code> che emula il comportamento di <code>cp</code> e <code>sftp</code> che ha una interfaccia molto simile a <code>ftp</code> (simula un server ftp). | |||
Il client <code>ssh</code> ha una interfaccia a linea di comando simile a quella di <tt>telnet</tt> e <tt>rlogin</tt>, ma, a differenza di questi ultimi, l'intera comunicazione (sia l'autenticazione che la sessione di lavoro) avviene in maniera cifrata. Per questo motivo, SSH è diventato uno standard di fatto per l'amministrazione remota di sistemi *nix e di molti dispositivi di rete, rendendo obsoleto il protocollo telnet, giudicato troppo pericoloso per la sua mancanza di protezione contro le intercettazioni. | |||
Altro client interessante, venuto recentemente alla ribalta è '''<tt>[[sshfs]]</tt>''' che permette di montare directory remote ed usarle in tutto e per tutto come directory locali (grazie a [http://fuse.sourceforge.net/ FUSE]): tutti i programmi possono accedere alla cartella remota in maniera trasparente, ignorando del tutto che essa si trovi su un altro computer! | |||
== | == Algoritmi == | ||
L'algoritmo di cifratura del canale di comunicazione è di tipo ibrido: viene usato inizialmente un [http://it.wikipedia.org/wiki/Crittografia_asimmetrica algoritmo asimetrico a chiave pubblica] (tipicamente RSA o DSA) per scambiarsi una chiave di sessione che a sua volta verrà usata per cifrare con un [http://it.wikipedia.org/wiki/Crittografia_simmetrica algoritmo simmetrico] tutta la successiva comunicazione. Gli algoritmi simmetrici usati usualmente sono AES o 3DES. | |||
''Voci correlate sul wiki:'' | |||
* [[Ssh e autenticazione tramite chiavi]] | |||
* [[Sshfs|Sshfs: montare directory remote tramite ssh]] | |||
* [[Come effettuare una connessione remota SSH da Windows a Linux]] | |||
-- | ''Approfondimenti:'' | ||
* [http://it.wikipedia.org/wiki/Ssh Ssh] su Wikipedia (it) | |||
* [http://en.wikipedia.org/wiki/Secure_Shell Secure Shell] su Wikipedia (en) | |||
* [http://en.wikipedia.org/wiki/Public-key_cryptography Public-key cryptography] su Wikipedia (en): spiega, molto meglio del corrispondente articolo italiano, in cosa consiste la crittografia a chiave pubblica. | |||
[[Categoria:Glossario]] |
Versione delle 15:49, 3 giu 2006
Descrizione
SSH (Secure SHell, shell sicura) è un protocollo che permette di stabilire una consessione sicura tra due computer. SSH garantisce la segretezza e l'integrità dei dati scambiati tra due computer cifrando l'intera comunicazione, compresa la fase di autenticazione. SSH è usato usalmente per permettere il login su macchine remote ed eseguire comandi, ma supporta anche il tunneling che permette (tra le altre cose) di eseguire in locale applicazioni grafiche che risiedono sul computer remoto.
Implementazioni
Gli strumenti più diffusi per utilizzare il protocollo ssh sono la suite openssh che è disponibile per OpenBSD, Linux, vari unices, Mac OS X, e MS Windows tramite Cygwin.
Nella suite sono inclusi diversi client, tra cui il più famoso è ssh
che permette di aprire appunto una shell remota connettendosi al server. Altri client sono scp
che emula il comportamento di cp
e sftp
che ha una interfaccia molto simile a ftp
(simula un server ftp).
Il client ssh
ha una interfaccia a linea di comando simile a quella di telnet e rlogin, ma, a differenza di questi ultimi, l'intera comunicazione (sia l'autenticazione che la sessione di lavoro) avviene in maniera cifrata. Per questo motivo, SSH è diventato uno standard di fatto per l'amministrazione remota di sistemi *nix e di molti dispositivi di rete, rendendo obsoleto il protocollo telnet, giudicato troppo pericoloso per la sua mancanza di protezione contro le intercettazioni.
Altro client interessante, venuto recentemente alla ribalta è sshfs che permette di montare directory remote ed usarle in tutto e per tutto come directory locali (grazie a FUSE): tutti i programmi possono accedere alla cartella remota in maniera trasparente, ignorando del tutto che essa si trovi su un altro computer!
Algoritmi
L'algoritmo di cifratura del canale di comunicazione è di tipo ibrido: viene usato inizialmente un algoritmo asimetrico a chiave pubblica (tipicamente RSA o DSA) per scambiarsi una chiave di sessione che a sua volta verrà usata per cifrare con un algoritmo simmetrico tutta la successiva comunicazione. Gli algoritmi simmetrici usati usualmente sono AES o 3DES.
Voci correlate sul wiki:
- Ssh e autenticazione tramite chiavi
- Sshfs: montare directory remote tramite ssh
- Come effettuare una connessione remota SSH da Windows a Linux
Approfondimenti:
- Ssh su Wikipedia (it)
- Secure Shell su Wikipedia (en)
- Public-key cryptography su Wikipedia (en): spiega, molto meglio del corrispondente articolo italiano, in cosa consiste la crittografia a chiave pubblica.