SSH: Che cos’è la Secure Shell?

Introduzione al protocollo SSH

SSH (acronimo di Secure Shell) è un protocollo che permette una sessione remota crittografata tramite riga di comando con un altro host.
Il protocollo SSH venne creato nel 1935 come progetto Open Source dallo sviluppatore Tatu Ylönen, successivamente, fondò una società per continuare lo sviluppo del protocollo.
In parole povere, questo protocollo, permette agli amministratori di rete di connettersi ad un altro computer (solitamente un server) al fine di eseguire dei comandi.
Alcuni esempi:

  • Tramite SSH è possibile lanciare un comando per creare file .zip o .tar di una directory di un sito internet in modo da avere un backup del sito;
  • È possibile visualizzare i file log di un portale e-commerce in modo da monitorare eventuali anomalie della piattaforma;
  • È possibile importare o esportazione un database MySQL o lanciare delle query;
  • È possibile mettere in sicurezza determinati file e directory di un sito web;
  • È possibile installare, rimuovere o aggiornare delle librerie per il corretto funzionamento del server o della piattaforma ospitata, come ad esempio un e-commerce.

Cos’è una shell?

La shell è un software che permette di comunicare con il sistema operativo su cui è ospitato.
Tramite una shell è possibile lanciare dei comandi.

I protocolli SSH1 e SSH2

SSH1, ovvero la prima versione del protocollo, è suddivisa in tre protocolli principali, ovvero: SSH-TRANS, SSH-USERAUTH e SSH-CONNECT, ognuno di questi protocolli ha un scopo per stabilire e proteggere la connessione.

SSH-TRANS: è il protocollo che fornisce stabilisce la connessione e fornisce la sicurezza.
SSH-USERAUTH: è il protocollo che viene utilizzato per autenticare il client.
SSH-CONNECT: è il protocollo che si occupa di gestire i canali su cui vengono trasmessi i dati.

SSH2 fu introdotto nel 2006 con notevoli miglioramenti rispetto a SSH1.
SSH2, pur essendo l’evoluzione di SSH1 non è compatibile con SSH2.
A differenza di SSH1, non è open source, inoltre, il creatore di SSH2 ha limitato l’uso gratuito di SSH2.

Il protocollo SSH può essere violato? Come posso prevenire un attacco?

SSH è uno dei protocolli di rete più utilizzati, per tale motivo è soggetto a numerosi attacchi di tipo brute force.
Ecco alcuni metodi per prevenire eventuali attacchi:

  • Utilizzare una password complessa;
  • Modificare la porta predefinita del protocollo SSH, ovvero, la porta 22;
  • Disabilitare la password vuota;
  • Utilizzare la seconda versione del protocollo, ovvero: SSH2;
  • Disabilitare l’inoltro X11;
  • Limitare i tentativi d’accesso;
  • Impostare un timeout di inattività;
  • Restringere l’accesso a determinati indirizzi IP.

Qual’è la differenza tra SSH privato e SSH pubblico?

SSH privato salva la chiave sul computer, mentre SSH pubblico salva la chiave sul server.

Come posso connettermi tramite SSH?

Se stai utilizzando Windows, puoi utilizzare un noto client, ovvero: Putty, tale programma permette la connessione tramite protocollo SSH.
Dopo aver scaricato Putty e dopo averlo lanciato, digitare l’indirizzo IP nell’apposita casella, ovvero: Host Name (or IP address) e lasciare invariata la porta 22 (porta predefinita), dopodichè cliccare il pulsante Open.
A questo punto, Putty, ti chiederà il nome utente e la password per accedere.
Se stai utilizzando Linux o Mac, basterà aprire il terminale e digitare il seguente comando: ssh utente@host
Esempio: ssh [email protected]

Che comandi posso lanciare tramite SSH?

Vi sono moltissimi comandi, quindi, elencheremo alcuni di questi:

  • cd – tramite questo comando è possibile accedere ad una directory;
  • mkdir – tramite questo comando è possibile creare una directory;
  • rmdir – tramite questo comando è possibile eliminare una directory;
  • rm – tramite questo comando è possibile eliminare un file.