I comandi SSH ti permettono di connetterti in modo sicuro a un server Linux e di gestirlo dal tuo computer. Che tu utilizzi un VPS, lavori con i file di un sito web o stia imparando ad amministrare Linux, SSH è una delle prime competenze che vale la pena acquisire.
La buona notizia è che non devi memorizzare decine di comandi. Una volta capito come connetterti a un server e orientarti nel suo file system, molte attività quotidiane diventano semplici.
In questo tutorial SSH per principianti imparerai a stabilire la tua prima connessione, esplorare le directory Linux, creare file e disconnetterti in modo sicuro.
Che cos’è SSH?
SSH (Secure Shell) è un protocollo di rete che consente comunicazioni crittografate tra il tuo computer e un server remoto.
Anziché accedere al server tramite un pannello di controllo grafico, SSH ti permette di gestirlo attraverso un’interfaccia a riga di comando chiamata terminale.
Per esempio, puoi usare SSH per:
- Gestire i file e le directory di un sito web.
- Installare e aggiornare software.
- Controllare le risorse e i log del server.
- Trasferire file in modo sicuro.
- Configurare applicazioni e servizi.
È importante capire una distinzione: SSH ti connette al server, mentre i comandi Linux eseguono le operazioni dopo che ti sei connesso.
SSH è comunemente usato con i server privati virtuali basati su Linux. Se non conosci i server virtuali, la nostra guida Che cos’è l’hosting VPS? spiega come funzionano.
Di cosa hai bisogno prima di usare SSH?
Prima di connetterti, assicurati di avere:
- Indirizzo IP del server: l’indirizzo del tuo server Linux.
- Nome utente SSH: l’account a cui sei autorizzato ad accedere.
- Credenziali di autenticazione: una password o una chiave privata SSH.
- Porta SSH: di solito la porta 22, salvo diversa configurazione.
- Client SSH: un’applicazione terminale in grado di stabilire connessioni SSH.
Linux e macOS includono strumenti SSH a riga di comando. Anche Windows 10 e 11 supportano OpenSSH tramite PowerShell o Windows Terminal, se il client è installato.
Sul server deve essere in esecuzione un servizio SSH e devono essere consentite le connessioni dalla tua rete.
Come connettersi a un server Linux tramite SSH
Apri Terminale, PowerShell o Windows Terminal sul tuo computer.
Inserisci il seguente comando:
ssh username@203.0.113.10
Sostituisci username con il nome del tuo account Linux e 203.0.113.10 con l’indirizzo IP effettivo del server.
Per esempio, se il nome utente sul server è admin, il comando diventa:
ssh admin@203.0.113.10
Se il server usa una porta SSH personalizzata, per esempio 2222, connettiti usando:
ssh -p 2222 admin@203.0.113.10
Quando ti connetti per la prima volta a un server sconosciuto, SSH potrebbe mostrare l’impronta digitale della sua chiave host e chiederti se ti fidi del server. Prima di accettarla, verifica l’impronta digitale tramite il tuo provider di hosting o un’altra fonte attendibile.
Dopo l’autenticazione, vedrai un prompt dei comandi Linux simile a:
admin@server:~$
Congratulazioni! Ora sei connesso al tuo server Linux.
I comandi che inserisci in questo prompt verranno eseguiti sul server remoto, non sul tuo computer.
Capire il terminale Linux
Prima di eseguire i comandi, vediamo cosa mostra il terminale.
Considera questo esempio:
admin@server:~$
adminrappresenta il tuo nome utente attuale.serveridentifica il computer a cui sei connesso.~rappresenta la tua directory home.$indica generalmente il prompt della shell di un utente normale.
Il tuo prompt potrebbe avere un aspetto diverso a seconda della distribuzione Linux e della configurazione della shell.
Ora sei pronto a provare i tuoi primi comandi.
I tuoi primi comandi SSH: un esercizio pratico
Invece di memorizzare i comandi uno per uno, svolgiamo un semplice esercizio.
Individueremo la tua posizione attuale, creeremo una directory, aggiungeremo un file di testo e ne visualizzeremo il contenuto.
Tutte le modifiche avverranno all’interno della tua directory home.

Passaggio 1: controlla il nome utente e la posizione
Inizia con:
whoami
Questo mostra il nome utente associato alla sessione attuale.
Poi esegui:
pwd
Il comando pwd significa print working directory («mostra la directory di lavoro»). Indica la tua posizione attuale nel file system.
Per esempio, potresti vedere:
/home/admin
Questo significa che ti trovi nella directory home dell’utente admin.
Passaggio 2: elenca file e directory
Usa:
ls -la
Questo mostra i file e le cartelle nella directory attuale, inclusi gli elementi nascosti.
L’opzione -l fornisce informazioni dettagliate, mentre -a include i file nascosti.
Userai spesso ls per esplorare le directory o verificare se esistono determinati file.
Passaggio 3: crea una nuova directory
Creiamo una cartella per questo esercizio.
mkdir ~/ssh-practice
Il comando mkdir crea le directory. In questo caso ne creiamo una chiamata ssh-practice nella tua cartella home.
Entra nella directory usando:
cd ~/ssh-practice
Ora esegui:
pwd
Il terminale dovrebbe mostrare un percorso simile a:
/home/admin/ssh-practice
Il comando cd sta per change directory («cambia directory»). Puoi usare cd .. per passare alla directory superiore oppure cd ~ per tornare alla directory home.
Passaggio 4: crea il tuo primo file
Ora crea un file di testo vuoto:
touch hello.txt
Il comando touch crea il file se non esiste già. Se esiste, il comando ne aggiorna i timestamp.
Controlla il contenuto della directory:
ls -l
Dovresti vedere hello.txt nell’elenco.
Aggiungiamo del testo:
printf 'Hello from Linux!\n' > hello.txt
Il comando printf genera il testo, mentre > scrive l’output nel file.
Fai attenzione: l’operatore > sovrascrive il contenuto esistente del file di destinazione.
Per visualizzare ciò che hai scritto, esegui:
cat hello.txt
Dovresti vedere:
Hello from Linux!
Hai creato una directory, vi sei entrato, hai scritto un file e ne hai visualizzato il contenuto: tutto tramite SSH.
Passaggio 5: disconnettiti in modo sicuro
Quando hai finito di lavorare, inserisci:
exit
Questo chiude la sessione shell remota e ti riporta al terminale locale.
Quando ti disconnetti, non devi spegnere o riavviare il VPS. Il server continua a funzionare normalmente.
Come trasferire file tramite SSH
SSH permette anche di trasferire file in modo sicuro tra il computer e il server.
Una soluzione semplice è scp (secure copy).
Per esempio, per caricare un file dal tuo computer nella directory dell’esercizio, esegui questo comando nel terminale locale, non nella sessione SSH:
scp ./example.txt admin@203.0.113.10:~/ssh-practice/
Sostituisci il nome utente e l’indirizzo IP con i tuoi dati. Il file locale example.txt deve già esistere.
Per scaricare un file dal server:
scp admin@203.0.113.10:~/ssh-practice/hello.txt ./
Questo salva una copia di hello.txt nella directory locale attuale.
Per trasferire file in modo interattivo, puoi anche usare SFTP, che funziona tramite una connessione SSH.
Capire le chiavi SSH
SSH supporta l’autenticazione tramite password e tramite chiave pubblica.
Con le chiavi SSH, crei due chiavi associate:
- Chiave pubblica: viene installata sul server per autorizzare l’accesso.
- Chiave privata: viene conservata al sicuro sul tuo computer.
La chiave privata non deve mai essere condivisa.
Puoi generare una coppia di chiavi Ed25519 usando:
ssh-keygen -t ed25519
Segui le istruzioni e scegli una passphrase robusta.
Su Linux o macOS, se il server consente un metodo di accesso già configurato e ssh-copy-id è installato, puoi aggiungere la chiave pubblica usando:
ssh-copy-id admin@203.0.113.10
Alcuni provider VPS permettono anche di configurare le chiavi pubbliche tramite i loro pannelli di controllo.
Prova l’accesso con la nuova chiave prima di modificare l’autenticazione tramite password.
Per chi è agli inizi, la lezione più importante è semplice: proteggi la tua chiave privata, verifica l’identità dei server e non disabilitare mai un metodo di autenticazione finché non hai verificato che quello sostitutivo funzioni.
Errori comuni di connessione SSH
A volte le connessioni SSH non riescono. Comprendere il messaggio di errore aiuta a individuare il problema.
| Errore | Possibile causa |
|---|---|
| Connection timed out | Instradamento di rete, firewall o server non raggiungibile |
| Connection refused | Il servizio SSH non è in ascolto sulla porta specificata |
| Permission denied (publickey) | Nome utente, chiave SSH o autorizzazioni sul server errati |
| Host key verification failed | L’identità del server non corrisponde alla chiave salvata |
Se riscontri un problema di connessione, verifica l’indirizzo IP, il nome utente, la porta e le credenziali.
In caso di problemi di autenticazione, controlla di usare la chiave privata corretta e che la chiave pubblica corrispondente sia autorizzata sul server.
Non disabilitare la verifica della chiave host SSH per aggirare un avviso imprevisto. Verifica prima l’identità del server.
Consigli essenziali per la sicurezza SSH
Prima di gestire server di produzione, segui alcune pratiche di sicurezza di base:
- Usa chiavi SSH con passphrase robuste, se supportate.
- Proteggi le tue chiavi private e le credenziali di accesso.
- Mantieni aggiornati il sistema operativo e il software SSH.
- Evita di accedere direttamente come root, a meno che non sia necessario.
- Limita l’accesso SSH con regole firewall appropriate.
- Prima di modificare le impostazioni SSH, assicurati di avere a disposizione un metodo alternativo di ripristino dell’accesso.
SSH garantisce comunicazioni crittografate, ma il server richiede comunque una manutenzione adeguata e una corretta gestione degli accessi.
Che cosa imparare dopo SSH?
Quando avrai acquisito dimestichezza con la connessione a Linux e l’esplorazione delle directory, potrai ampliare gradualmente le tue competenze.
Un ordine di apprendimento utile è:
- Gestione dei file Linux: impara a copiare, spostare, rinominare ed esaminare i file.
- Permessi dei file: comprendi
chmod,chown, e i privilegi amministrativi. - Gestione del software: installa e aggiorna i pacchetti usando APT o DNF.
- Gestione dei servizi: avvia, arresta ed esamina i servizi usando
systemctl. - Monitoraggio del server: controlla la memoria, l’utilizzo del disco e i log di sistema.
Queste competenze ti aiuteranno a gestire siti web, risolvere problemi delle applicazioni e occuparti con sicurezza della manutenzione dei server Linux.
Domande frequenti
I comandi SSH servono a connettersi a sistemi remoti, eseguire comandi e trasferire file in modo sicuro. Dopo la connessione, puoi usare i comandi della shell Linux per gestire file, software e servizi del server.
Sì. Windows 10 e 11 supportano OpenSSH, che, una volta installato, può essere usato tramite PowerShell o Windows Terminal.
No. Con SSH puoi connetterti ad account utente normali. Alcune operazioni amministrative richiedono privilegi elevati, ma di solito non servono per la gestione quotidiana dei file e l’esplorazione delle directory.
Sì, a condizione che tu comprenda i comandi che esegui e segua le pratiche di sicurezza di base. Inizia con operazioni innocue su file e directory prima di apportare modifiche al sistema.
Conclusione
SSH è una competenza essenziale per chiunque stia imparando ad amministrare server Linux. Offre un modo sicuro per accedere ai sistemi remoti, gestire file, trasferire dati ed eseguire la manutenzione ordinaria.
Il modo migliore per imparare i comandi SSH è fare pratica. Inizia connettendoti al server, esplorando le directory e creando file, prima di passare ad attività di amministrazione più avanzate.
Quando avrai acquisito dimestichezza con la tua prima sessione SSH, avrai le basi necessarie per seguire quasi tutti gli altri tutorial Linux sui server.