Learning Center
Protocollo SSH

Come Connettersi a un Server tramite SSH: Guida Completa

20 gen 2026
Hostman Team
Hostman Team

SSH è un protocollo di livello applicativo comunemente utilizzato per l’accesso remoto. In questo articolo esamineremo l’uso del protocollo SSH per connettersi a server Linux remoti e configurare impostazioni specifiche per migliorare la sicurezza.

SSH può essere utilizzato con qualsiasi distribuzione Linux, poiché è abilitato di default nella maggior parte delle moderne distribuzioni Unix e Linux.

In questa guida, tutti i test sono stati eseguiti su Ubuntu 22.04; tuttavia, le stesse istruzioni possono essere applicate anche ad altre distribuzioni come Debian, CentOS, ecc.

Metodi di connessione tramite SSH
Copia link

È possibile utilizzare diversi programmi client per connettersi a server Linux tramite SSH. Alcuni dei più diffusi sono:

  • Windows: PuTTY, Bitvise SSH Client, SuperPuTTY, mRemoteNG, MobaXterm

  • macOS: Termius o l’utilità SSH integrata nel Terminale

  • Windows (Windows 10, Windows 11, Windows Server 2019): il client OpenSSH integrato, accessibile tramite riga di comando (cmd) o PowerShell

Sintassi del comando SSH
Copia link

La sintassi standard del comando SSH è la seguente:

  • ssh <utente@IP_o_dominio>

Ad esempio:

  • ssh alex@166.1.227.189

Per impostazione predefinita, SSH si connette tramite la porta 22. Se il server utilizza una porta diversa, è possibile specificarla con l’opzione -p:

  • ssh alex@166.1.227.189 -p 2222

File di configurazione del server SSH
Copia link

Il file di configurazione del server SSH si chiama sshd_config e si trova nella directory /etc/ssh. Da non confondere con il file del client SSH, ssh_config. In questo articolo ci concentreremo esclusivamente sul file lato server.

Autenticazione SSH tramite password
Copia link

Per impostazione predefinita, le connessioni SSH utilizzano l’autenticazione tramite password, a meno che non sia stata aggiunta una chiave SSH durante la creazione del server (le chiavi SSH verranno trattate nella sezione successiva). Nella maggior parte delle distribuzioni Linux/Unix, la configurazione del server include l’autenticazione PAM, che consente agli utenti con account di sistema di accedere utilizzando nome utente e password.

Per accedere tramite password, sono necessari l’indirizzo del server remoto e le credenziali dell’utente, ad esempio:

  • ssh alex@166.1.227.189

Dopo aver eseguito il comando, verrà richiesta la password. Se è corretta, si otterrà l’accesso al server.

Alla prima connessione, verrà visualizzato un messaggio relativo all’“impronta digitale” (fingerprint) del server. Digitare yes per procedere.

Sebbene l’autenticazione tramite password funzioni, non è il metodo più sicuro, poiché le password possono essere indovinate. Un’alternativa più sicura è l’utilizzo delle chiavi SSH, descritto nella sezione successiva.

Autenticazione tramite chiavi SSH
Copia link

Le chiavi SSH rappresentano un metodo di autenticazione più sicuro e comunemente utilizzato rispetto alle password. SSH utilizza due tipi di chiavi:

  • Chiave pubblica: utilizzata per la crittografia e condivisibile pubblicamente

  • Chiave privata: utilizzata per la decrittografia e da mantenere privata

Per generare le chiavi SSH, utilizzare il comando:

  • ssh-keygen

Il comando richiederà di scegliere una directory in cui salvare le chiavi. Per impostazione predefinita, vengono memorizzate nella directory .ssh della home dell’utente, ad esempio /home/alex/.ssh. Premere Invio per utilizzare il percorso predefinito.

Successivamente, verrà richiesto di creare una passphrase per aumentare la sicurezza. Se si preferisce non utilizzare una passphrase, premere Invio quando richiesto.

Una volta generate, la chiave privata (id_rsa) e la chiave pubblica (id_rsa.pub) verranno salvate nella directory .ssh.

Prima di connettersi a un host remoto, copiare la chiave pubblica su tale host utilizzando il comando ssh-copy-id:

  • ssh-copy-id -i /home/alex/.ssh/id_rsa.pub alex@166.1.227.189

Verrà richiesta la password dell’utente remoto una sola volta. Dopodiché, la chiave pubblica verrà aggiunta all’host remoto, consentendo l’accesso senza password:

  • ssh alex@166.1.227.189

Se non viene richiesta alcuna password, l’autenticazione basata su chiave funziona correttamente.

Disabilitare l’autenticazione tramite password
Copia link

Poiché le password non sono sicure, si consiglia di disabilitare l’autenticazione tramite password e utilizzare esclusivamente l’accesso basato su chiavi. Per farlo, modificare il file di configurazione del server SSH:

  • nano /etc/ssh/sshd_config

Individuare la riga PasswordAuthentication e impostarla su no:

  • PasswordAuthentication no

Salvare le modifiche e riavviare il server SSH:

  • systemctl restart ssh

Importante: prima di disabilitare l’autenticazione tramite password, assicurarsi che l’autenticazione basata su chiavi funzioni correttamente. In caso contrario, si rischia di perdere l’accesso al server. Se ciò accade, è possibile ripristinare l’autenticazione tramite password tramite la console web del server.

Modificare la porta SSH predefinita
Copia link

Per impostazione predefinita, il server SSH utilizza la porta 22. È possibile modificarla editando il file sshd_config. Individuare la riga Port, rimuovere il simbolo # e specificare una nuova porta (compresa tra 1024 e 65535):

  • Port 2224

Dopo aver salvato le modifiche, riavviare il server SSH:

  • systemctl restart ssh

Per connettersi al server utilizzando la nuova porta, usare l’opzione -p:

  • ssh alex@166.1.227.189 -p 2224

Disabilitare l’accesso dell’utente root
Copia link

In alcune distribuzioni, l’accesso dell’utente root è consentito di default. Poiché l’utente root dispone di privilegi completi sul sistema, è più sicuro disabilitare questo tipo di accesso. Individuare la riga PermitRootLogin nel file sshd_config e impostarla su no:

  • PermitRootLogin no

Salvare il file e riavviare il server SSH:

  • systemctl restart ssh

Consentire o negare l’accesso a utenti specifici
Copia link

È possibile limitare l’accesso SSH a determinati utenti modificando il file sshd_config con i seguenti parametri:

AllowUsers: specifica quali utenti sono autorizzati a connettersi tramite SSH. Esempio:

  • AllowUsers test admin

DenyUsers: specifica gli utenti ai quali viene negato l’accesso SSH. Esempio:

  • DenyUsers nginx websrv

Per applicare le modifiche, riavviare il server SSH:

  • systemctl restart ssh

Conclusione
Copia link

SSH è uno strumento indispensabile per la connessione a server remoti. Oltre alla crittografia integrata, è possibile aumentare ulteriormente la sicurezza del server SSH configurandolo correttamente, ad esempio disabilitando l’autenticazione tramite password e limitando l’accesso a utenti specifici.