Nel mondo interconnesso di oggi, la gestione remota dei server è una parte essenziale dell’amministrazione di sistema. Che siate sviluppatori, amministratori di sistema o imprenditori che gestiscono un VPS (Virtual Private Server), la comprensione dell’accesso SSH (Secure Shell) è fondamentale per garantire sicurezza ed efficienza.
SSH (Secure Shell) è un protocollo di rete crittografico che consente agli utenti di accedere e gestire in modo sicuro un computer remoto su una rete non protetta.
Invece di inviare informazioni in chiaro come i vecchi protocolli (ad esempio, Telnet, FTP), SSH cripta la sessione, proteggendo le informazioni sensibili come nomi utente, password e comandi.
SSH funziona in genere sulla porta 22, anche se gli amministratori spesso la modificano per motivi di sicurezza.
SSH utilizza un modello client-server:
Il client SSH (il vostro computer) avvia la connessione.
Il server SSH (computer remoto) accetta la connessione dopo aver verificato le credenziali.
L’autenticazione avviene in due modi principali:
Autenticazione basata su password (si inserisce una password)
Autenticazione basata su chiavi (si utilizza una coppia di chiavi crittografiche private/pubbliche)
1. Installare un client SSH
La maggior parte dei sistemi Linux e macOS ha un client SSH preinstallato.
Per Windows, è possibile utilizzare:
Windows Terminal (Windows 10)
PuTTY (un popolare client standalone)
OpenSSH per Windows (funzione opzionale)
2. Connettersi a un server
Utilizzate il comando SSH di base:
ssh username@server_ip_address
Esempio:
3. Accettare la chiave host
La prima volta che ci si connette, il client chiede di verificare la chiave host del server per motivi di sicurezza.
4. Autenticazione
Con una password, vi verrà richiesto di inserirla.
Con una chiave privata, SSH utilizza la chiave automaticamente o la si specifica:
Disabilitare l’accesso con password
Passate all’autenticazione basata solo sulle chiavi. È molto più difficile forzare una chiave crittografica che una password.
Cambiare la porta SSH predefinita
Il passaggio dalla porta 22 a un’altra porta casuale riduce i tentativi di scansione automatica.
Utilizzare chiavi SSH forti e uniche
Generate chiavi con crittografia di almeno 2048 bit(ssh-keygen -t rsa -b 4096).
Limitare l’accesso SSH per indirizzo IP
Configurate le regole del firewall per consentire l’accesso SSH solo da IP affidabili.
Abilitare l’autenticazione a due fattori (2FA)
Alcuni server SSH supportano la 2FA per un’autenticazione ancora più forte.
Mantenere il software aggiornato
Aggiornate sempre il software del vostro server SSH per proteggerlo dalle vulnerabilità.
Utilizzare Fail2Ban o strumenti simili
Installate strumenti che vietino automaticamente gli IP che tentano attacchi brute-force.
Copia di file tra locale e remoto:
Aprire un editor di file interattivo (come nano, vim o vi) per modificare i file del server.
Gestire i servizi (sui server Linux):
Monitorare l’attività del server:
Esce dalla sessione SSH:
SSH è uno strumento fondamentale per la moderna amministrazione dei server, che consente la gestione sicura e criptata dei sistemi remoti.
Comprendendo il funzionamento di SSH e seguendo le migliori pratiche di sicurezza, è possibile gestire i server con sicurezza, proteggere i dati critici e garantire la stabilità operativa.
Sia che si gestisca un piccolo progetto personale o una grande infrastruttura aziendale, la conoscenza di SSH è essenziale per ogni professionista IT.