Guide / Guida

Collegarsi a un server con SSH da Windows, Linux e macOS

Il primo accesso remoto, la verifica della fingerprint e le differenze fra timeout, connessione rifiutata e accesso negato.

SSH apre un terminale cifrato su un altro computer. Dopo l’accesso, i comandi agiscono sul server remoto: un aggiornamento o una cancellazione riguardano quella macchina, non il PC da cui ti colleghi. Per la prima prova usa un server che amministri o per cui hai ricevuto le credenziali.

1. Raccogli i dati corretti

Servono indirizzo IP o nome DNS, nome utente, porta e metodo di autenticazione. Su un server domestico l’indirizzo può essere 192.168.1.50; su un VPS usa quello fornito dal provider. In tutti gli esempi, mario è un segnaposto da sostituire. Un indirizzo privato non è raggiungibile da Internet senza un percorso di rete appropriato.

2. Apri il terminale del tuo PC

Su Windows apri PowerShell o Windows Terminal e prova ssh -V. Se il comando manca, installa Client OpenSSH dalle funzionalità facoltative previste da Windows: per collegarti non serve installare il server OpenSSH sul PC client. Su Linux e macOS usa Terminale e verifica allo stesso modo la presenza del client.

Per la porta standard esegui:

ssh mario@192.168.1.50

Per una porta diversa, ad esempio 2222:

ssh -p 2222 mario@192.168.1.50

3. Controlla l’identità del server

Al primo contatto SSH mostra una fingerprint e chiede se vuoi fidarti della macchina. Confrontala con il valore fornito dal provider o ottenuto tramite una console separata del server. Per una chiave host Ed25519 su Linux, dalla console del server puoi usare:

sudo ssh-keygen -lf /etc/ssh/ssh_host_ed25519_key.pub

Se corrisponde, conferma e inserisci la password. Durante la digitazione il terminale può non mostrare né lettere né asterischi: è normale. Se in futuro compare REMOTE HOST IDENTIFICATION HAS CHANGED, verifica prima se il server è stato reinstallato o se stai raggiungendo un’altra macchina; non eliminare la vecchia chiave solo per far sparire il messaggio.

4. Verifica dove sei e termina la sessione

hostname
whoami
pwd

Questi comandi mostrano macchina, utente e cartella corrente. Sono un buon controllo prima di operazioni di amministrazione. Per uscire usa exit. Per una diagnostica più dettagliata dal PC locale puoi riprovare con ssh -v mario@192.168.1.50; prima di condividere i log rimuovi indirizzi e informazioni personali non necessarie.

Leggi l’errore prima di cambiare configurazione

  • Could not resolve hostname: controlla il nome e il DNS.
  • Connection timed out: verifica rete, VPN, IP, porta e firewall; il servizio potrebbe non essere raggiungibile.
  • Connection refused: verifica che SSH ascolti sulla porta scelta.
  • Permission denied: ricontrolla utente, password o chiave autorizzata.
  • Permission denied (publickey): il server può richiedere una chiave; una password non autorizzata non risolve l’accesso.

Non serve cambiare porta o disattivare il firewall per ogni errore: ogni messaggio indica una fase diversa del collegamento.

Documentazione ufficiale

Il prossimo passo

Capire in quale computer stai lavorando

Appena entrato, esegui hostname, whoami e pwd: identificano macchina, utente e cartella corrente. È un controllo utile quando tieni aperti più terminali. I comandi digitati nella sessione SSH agiscono sul server, mentre quelli nel terminale locale agiscono sul PC. Se il collegamento scade, verifica prima indirizzo e porta; se ricevi “Permission denied”, controlla invece utente e metodo di autenticazione. Un avviso di chiave del server cambiata va verificato con l’amministratore o dalla console della macchina prima di sostituire la chiave memorizzata.