Tutti gli articoli

ssh

Chiavi SSH vs password su un VPS: accedi nel modo giusto

Una guida semplice al perché le chiavi SSH sono più sicure delle password, a cosa può andare storto e a come mantenere comprensibile nel tempo l’accesso al server.

  • ssh
  • sicurezza
  • login
Una chiave SSH si collega in modo sicuro a un VPS mentre l'accesso con password è mostrato come un percorso più debole e tratteggiato.

Desideri accedere al tuo server in modo sicuro senza trasformarlo in un bersaglio per attacchi informatici ed evitando il rischio di chiuderti fuori per errore.

Versione breve: per la gestione ordinaria del server è consigliabile utilizzare le chiavi SSH anziché le password. Una chiave SSH è composta da una coppia cifrata: una chiave privata conservata sul tuo computer e una chiave pubblica depositata sul server, che permette a quest'ultimo di autenticarti in modo sicuro senza dover trasmettere credenziali sulla rete.

Cosa sono le chiavi SSH?

SSH (Secure Shell) è il protocollo standard per l'amministrazione remota di un server tramite riga di comando. Può essere immaginato come un accesso riservato e protetto per le attività di manutenzione.

Una password rappresenta una stringa di testo condivisa: se viene intercettata, chiunque può utilizzarla per accedere da qualsiasi postazione.

Una chiave SSH funziona come una serratura con la relativa chiave fisica. La chiave pubblica installata sul server rappresenta la serratura, mentre la chiave privata salvata sul tuo dispositivo è l'unico elemento in grado di sbloccarla. Durante la procedura di autenticazione, la chiave privata non viene trasmessa al server: il computer dimostra di posederla attraverso una verifica crittografica.

Questa differenza è fondamentale per la sicurezza: una password intercettata consente un accesso immediato, mentre la sola conoscenza della chiave pubblica non permette ad un attaccante di autenticarsi.

Perché le chiavi SSH sono più sicure delle password?

Le password sono vulnerabili agli attacchi informatici poiché possono essere individuate tramite tentativi automatizzati. Bot ed eseguibili scansionano la rete costantemente per individuare server che accettano autenticazioni SSH tramite password, effettuando attacchi a forza bruta (brute-force) o utilizzando elenchi di credenziali compromesse.

Le chiavi SSH offrono un livello di sicurezza nettamente superiore. La complessità crittografica di una chiave rende impraticabile qualsiasi tentativo di scansione per tentativi.

L'uso delle chiavi facilita inoltre la gestione della sicurezza: è possibile assegnare a ogni utente o dispositivo una coppia di chiavi dedicata. In caso di smarrimento di un computer, sarà sufficiente rimuovere la sola chiave pubblica associata dal server, senza dover modificare password condivise tra più utenti.

Per un'infrastruttura sicura, l'autenticazione tramite chiavi SSH deve essere integrata con altre misure fondamentali: un firewall configurato per limitare le porte accessibili, un piano di aggiornamenti regolari e procedure di backup verificate. Per la configurazione del firewall puoi consultare la nostra guida dedicata: /blog/configurare-un-firewall-sul-server.

Quale metodo di accesso dovresti usare?

Per la gestione di un server di produzione, l'autenticazione tramite chiavi SSH deve rappresentare lo standard operativo. L'accesso con password può essere utilizzato temporaneamente durante la prima configurazione o come canale di emergenza, ma mantenerlo attivo in modo permanente espone il sistema a rischi inutili.

Metodo di accessoIdeale perRischio principaleConsiglio pratico
Accesso con passwordConfigurazione iniziale, procedure di emergenzaEsposizione ad attacchi automatizzati e credenziali compromesseDisattivarlo dopo la configurazione iniziale
Accesso con chiave SSHAmministrazione ordinariaSmarrimento o errata configurazione della chiave privataAdottarlo come standard e prevedere un piano di ripristino

La procedura consigliata è lineare: imposta l’accesso con chiave SSH, verifica il funzionamento aprendo una seconda sessione di terminale e, solo dopo aver confermato il corretto accesso, disabilita l’autenticazione via password. È fondamentale non chiudere la sessione di lavoro attiva prima di aver verificato la nuova configurazione.

Se il server è gestito da più utenti, evita di condividere la medesima chiave privata o un'unica password. Assegna a ciascun operatore una propria chiave: in questo modo la gestione degli accessi rimarrà trasparente e tracciabile nel tempo.

Cosa può andare storto quando configuri le chiavi SSH?

L’anomalia più comune è il messaggio d'errore Permission denied (publickey). Indica che il server non ha convalidato la chiave inviata dal tuo client SSH.

Le cause principali possono essere l'inserimento di una chiave pubblica errata sul server, l'utilizzo da parte del client SSH di una chiave privata differente da quella prevista, oppure l'associazione della chiave a un utente di sistema diverso.

Un altro fattore critico riguarda i permessi sui file e le directory di sistema. SSH richiede che le autorizzazioni sulla cartella .ssh e sul file authorized_keys siano restrittive (es. permessi 700 per la cartella e 600 per il file). Se i permessi consentono la scrittura ad altri utenti, il server rifiuterà l'autenticazione per motivi di sicurezza.

È inoltre possibile bloccarsi fuori dal server disattivando l'accesso con password prima di aver testato il funzionamento delle chiavi SSH.

Infine, le chiavi SSH non risolvono problemi legati alla connettività di rete: se un firewall blocca la porta SSH (di default la 22), se il server è irraggiungibile o se vi sono errori di instradamento, la connessione fallirà a prescindere dalla correttezza della chiave. Per diagnosticare questi problemi, consulta la nostra guida su /blog/come-leggere-i-log-del-server-quando-qualcosa-si-rompe.

FAQ

È possibile mantenere attivi sia l'accesso con chiavi SSH sia quello con password? Sì, ma l'autenticazione tramite chiavi deve rappresentare il metodo di accesso predefinito, mentre l'accesso con password dovrebbe essere disabilitato o limitato a casi specifici.

È consigliabile impostare una passphrase sulla chiave privata? Sì. Una passphrase aggiunge un livello di protezione cifrando la chiave privata sul tuo computer, impedendone l'uso non autorizzato in caso di smarrimento o furto del dispositivo.

Si può utilizzare la stessa chiave SSH per accedere a più server? È tecnicamente possibile, ma è preferibile generare chiavi distinte per ambienti diversi. In questo modo, l'eventuale revoca di una chiave limiterà l'impatto a un singolo server.

**Cosa indica l'errore Permission denied (publickey)?** Segnala che il server richiede l'autenticazione tramite chiave crittografica, ma nessuna delle chiavi inviate dal tuo client SSH rientra tra quelle autorizzate sul server per quel determinato utente.

La scorciatoia

Server Manager semplifica la gestione degli accessi SSH prevenendo gli errori di configurazione più comuni, come l'accesso via password lasciato attivo inavvertitamente, le chiavi associate agli utenti errati o policy d'accesso poco chiare.

Il valore principale risiede nella trasparenza della configurazione: è possibile verificare con chiarezza quali utenti dispongono dell'accesso, revocare le autorizzazioni per i dispositivi dismessi e mantenere un controllo ordinato dell'infrastruttura.

Questo approccio agevola anche la risoluzione dei problemi: in caso di anomalie di connessione, sarà più semplice determinare se la causa risiede in una chiave non valida, in una porta bloccata dal firewall o in un problema di rete.

Una gestione corretta dell'accesso SSH garantisce la massima sicurezza: gli utenti autorizzati accedono senza complicazioni, i vettori d'attacco vengono ridotti e l'infrastruttura rimane chiara e gestibile nel lungo periodo.