Introducing ZYNOO General Purpose & CPU Optimized Servers   Learn More >

Comandi SSH per principianti: la tua prima sessione su un server Linux

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.

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:~$

  • admin rappresenta il tuo nome utente attuale.
  • server identifica 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.

Comandi SSH ZYNOO

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.

ErrorePossibile causa
Connection timed outInstradamento di rete, firewall o server non raggiungibile
Connection refusedIl servizio SSH non è in ascolto sulla porta specificata
Permission denied (publickey)Nome utente, chiave SSH o autorizzazioni sul server errati
Host key verification failedL’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 è:

  1. Gestione dei file Linux: impara a copiare, spostare, rinominare ed esaminare i file.
  2. Permessi dei file: comprendi chmod, chown, e i privilegi amministrativi.
  3. Gestione del software: installa e aggiorna i pacchetti usando APT o DNF.
  4. Gestione dei servizi: avvia, arresta ed esamina i servizi usando systemctl.
  5. 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

A cosa servono i comandi SSH?

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.

Posso usare SSH su Windows?

Sì. Windows 10 e 11 supportano OpenSSH, che, una volta installato, può essere usato tramite PowerShell o Windows Terminal.

Ho bisogno dell’accesso root per usare SSH?

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.

SSH è sicuro per i principianti?

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.

Table of Content

Hosting that grows with you

Give your next website or application the resources and control it needs.

Explore VPS hosting →

L’hosting VPS per rivenditori consente alle aziende di hosting di vendere server privati virtuali con

Puoi creare un sito web WordPress con l’IA senza saper programmare né assumere un web

Il confronto tra Fedora e Ubuntu è frequente tra sviluppatori, appassionati di Linux e aziende

Build your next project with ZYNOO

From your first website to demanding applications, choose the resources and control you need.

Shared Hosting

Start your blog or business website with cPanel, LiteSpeed and CloudLinux.

VPS Hosting

Grow your websites and applications with NVMe storage, KVM virtualization and full root access.

Dedicated Servers

Power demanding projects with your own physical server, dedicated resources and control over your environment.

Torna in alto