Template:Stub informatica

SSH (Secure SHell, shell sicura) è un protocollo che permette di stabilire una sessione remota cifrata ad interfaccia a linea di comando con un altro host.

Analogamente ad altri protocolli come telnet ed rlogin, SSH ha una interfaccia a linea di comando, tipicamente una shell, ma l'intera comunicazione avviene in maniera cifrata. Per questo motivo, SSH è diventato uno standard di fatto per l'amministrazione remota di sistemi unix e di dispositivi di rete.

Il protocollo SSH è installato su tutte le versione di UNIX e sistemi simili, inclusi Linux e Mac OS X, ed ha reso oramai obsoleto il protocollo telnet per i motivi accenati sopra. La sintassi su sistemi UNIX-like è la seguente:

% ssh [opzioni] nomeutente@host [comando]

dove con "%" si intende il prompt della shell utilizzata

Tunneling

SSH puo esserre utilizzato in particolare per fare assistenza remota anche in modalità tunneling. Senza installare nessun pacchetto aggiuntivo è possibile creare un tunnel sicuro tra una porta del client e una porta del server remoto o di qualsiasi terza macchina dietro al sever remoto, a patto che la macchina SERVER SSH abbia abilitoto il forwarding. Ad esempio

CLIENT -----> ssh server -----> TERZA MACCHINA

se vogliamo utilizzare un desktop remoto sulla terza macchina basta che ci connettiamo al server ssh includendo un tunnel tra una porta locale della macchina dove lavoriamo e la porta 3389 della TERZA MACCHINA. Dopo di che basterà avviare il client RDP e connettersi a localhost:(porta scelta) che si verrà spediti sulla terza macchina

Meccanismi di autenticazione

  • username/password
  • chiave pubblica