Una shell sicura consente a due dispositivi in rete di scambiare dati su un canale sicuro. Questo protocollo di rete utilizza la crittografia a chiave pubblica per proteggere le informazioni in modo che possano essere inviate in sicurezza su una rete non protetta. Una shell sicura viene spesso utilizzata sui sistemi di computer Linux e UNIX.
In informatica, una shell è una struttura software che fornisce agli utenti un modo per accedere a un sistema operativo. È più comunemente usato per avviare un altro programma. Un account shell dà accesso a una shell tramite un account utente su un server remoto. L’utente interagisce con la shell digitando i comandi. Questa è chiamata interfaccia della riga di comando.
Una shell sicura offre agli utenti un modo per accedere al server in modo sicuro anche se la rete non è sicura. Per creare la connessione sicura viene utilizzata una forma di crittografia denominata crittografia a chiave pubblica. Ogni computer nella comunicazione ha due chiavi, una chiave pubblica e una chiave privata. Il messaggio viene crittografato utilizzando la chiave pubblica, che è disponibile a chiunque, ma può essere decodificata solo utilizzando la chiave privata, nota solo al computer di destinazione. Sebbene le chiavi siano matematicamente correlate, non c’è modo di capire la chiave privata usando la chiave pubblica.
L’Internet Engineering Task Force, l’organizzazione che crea e mantiene gli standard Internet, ha creato il protocollo Secure Shell. Era destinato a sostituire Telnet e rlognid come protocollo di scelta per l’accesso a shell su computer remoti. Il protocollo Secure Shell è sia più sicuro di Telnet che più versatile di rlognid.
Il protocollo Secure Shell può essere utilizzato anche per il tunneling di una porta. Un tunnel è un canale sicuro utilizzato per trasferire dati non crittografati da una porta del computer locale a una porta del computer remoto. Mentre la crittografia è come scrivere un messaggio in codice, il tunneling è come pronunciare il messaggio su una linea telefonica non intercettabile. L’informazione è protetta dal canale attraverso il quale sta viaggiando piuttosto che dal formato del messaggio.
I file vengono trasferiti nel contesto di una shell sicura utilizzando il protocollo di trasferimento file della shell sicura. Questo protocollo fornisce accesso ai file, nonché capacità di gestione e trasferimento su qualsiasi flusso di dati affidabile, come una connessione Ethernet. È stato creato dalla Internet Engineering Task Force per l’uso con secure shell, ma può funzionare con qualsiasi canale sicuro. Altri protocolli di trasferimento file che possono essere utilizzati con una shell sicura includono la copia sicura e i file trasferiti tramite il protocollo shell (FISH).