Accedi
Accedi

Come Connettersi a un Server tramite SSH: Guida Completa

Come Connettersi a un Server tramite SSH: Guida Completa
Hostman Team
Technical writer
Protocollo SSH
20.01.2026
Reading time: 6 min

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

È 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

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

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

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

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

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

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

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

È 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

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.

Protocollo SSH
20.01.2026
Reading time: 6 min

Simili

Sistema: Linux

Come copiare file tramite SSH

Il protocollo SSH (Secure Shell) è un protocollo di rete utilizzato per la gestione remota dei sistemi operativi tramite linea di comando ed è ampiamente considerato lo standard per l’accesso remoto alle macchine *nix. Consente l’accesso sicuro a un server, l’esecuzione di comandi remoti, la gestione dei file (creazione, eliminazione, copia, ecc.) e altro ancora. La maggior parte dei provider cloud richiede SSH per accedere ai propri servizi. In questo articolo vedremo come copiare file tramite SSH su sistemi Windows e Linux. Come funziona SSH SSH può trasmettere in modo sicuro qualsiasi tipo di dato (audio, video, dati di protocollo) attraverso un canale crittografato. A differenza di protocolli obsoleti e non sicuri come Telnet e rlogin, SSH garantisce la riservatezza e l’autenticità dei dati — elementi fondamentali per la comunicazione su Internet. Ecco come si stabilisce una connessione sicura tra client e server: Connessione TCP: per impostazione predefinita, il server ascolta sulla porta 22. Entrambe le parti condividono un elenco di algoritmi supportati (compressione, crittografia, scambio di chiavi) e concordano quali utilizzare.   Autenticazione: per evitare furti d’identità, entrambe le parti verificano le proprie identità utilizzando la crittografia asimmetrica (chiavi pubbliche/private). Il server viene autenticato per primo. Alla prima connessione, il client mostra un avviso con i dettagli del server. Le chiavi dei server fidati vengono memorizzate in /home/<username>/.ssh/known_hosts.   Generazione della chiave: una volta verificato il server, entrambe le parti generano una chiave simmetrica per crittografare tutti i dati scambiati.   Autenticazione dell’utente: avviene tramite password o chiave pubblica inviata dal client e memorizzata sul server in /home/<username>/.ssh/authorized_keys. L’implementazione più popolare su Linux è OpenSSH, preinstallata nella maggior parte delle distribuzioni (Ubuntu, Debian, RHEL, ecc.). Su Windows si utilizzano client come PuTTY o MobaXterm. Da Windows 10 e Server 2019, gli strumenti OpenSSH sono disponibili nativamente. Copiare file tramite SSH Due strumenti principali per copiare file su Linux sono scp e sftp. Entrambi sono inclusi in OpenSSH. SSH supporta due versioni di protocollo: 1 e 2. OpenSSH supporta entrambe, ma la versione 1 è raramente utilizzata. Configurare l’autocompletamento Per attivare l’autocompletamento con Tab usando scp, configura l’autenticazione con chiave pubblica: Generare una coppia di chiavi: ssh-keygen Esempio di output: Generating public/private rsa key pair. Enter file in which to save the key (/home/user/.ssh/id_rsa): Enter passphrase (empty for no passphrase): Per impostazione predefinita, le chiavi (id_rsa per quella privata e id_rsa.pub per quella pubblica) vengono salvate in ~/.ssh/. Copiare la chiave pubblica sulla macchina remota: ssh-copy-id [username]@[ip-address] Dopo aver inserito la password dell’utente, apparirà un messaggio di conferma. Secure Copy (SCP) Per piccoli trasferimenti di dati (ad es. file di configurazione), scp è l’opzione ideale. Copiare da locale a remoto: scp test.txt user@192.168.1.29:/home/user/ Copiare più file: scp test1.txt test2.txt user@192.168.1.29:/home/user/ Copiare da remoto a locale: scp user@192.168.1.29:/home/user/test.txt ~/ Copiare directory: scp -r testdir user@192.168.1.29:/home/user/ Copiare da remoto a remoto: scp gendo@192.168.1.25:/home/gendo/test.txt user@192.168.1.29:/home/user/ Secure FTP (SFTP) SFTP è un altro strumento incluso in OpenSSH. A partire da OpenSSH 9.0, scp utilizza SFTP come impostazione predefinita al posto del vecchio protocollo SCP/RCP. A differenza dell’FTP classico, sftp trasmette i dati crittografati attraverso un tunnel sicuro e non richiede un server FTP separato. Esempio d’uso: sftp misato@192.168.1.29 sftp> ls sftp> lcd testdir/ sftp> get test.txt sftp> bye Gestori di file grafici come Midnight Commander e Nautilus utilizzano anch’essi sftp. In Nautilus, il server remoto appare come una cartella locale, ad esempio user@ip. Copying Files Over SSH on Windows Su Windows, lo strumento da riga di comando pscp di PuTTY viene utilizzato per copiare i file. Copiare sul server: pscp C:\server\test.txt misato@192.168.1.29:/home/misato/ Copiare dal server: pscp misato@192.168.1.29:/home/misato/test.txt C:\file.txt Elencare i file sul server remoto: pscp -ls user@192.168.1.29:/home/misato Usare virgolette per percorsi con spazi: pscp "C:\dir\bad file name.txt" misato@192.168.1.29:/home/misato/ Mostrare l’aiuto: pscp Conclusione Abbiamo visto come copiare file da e verso un server utilizzando il protocollo sicuro SSH. Se lavori con server cloud, comprendere SSH è essenziale — è il metodo standard per l’accesso remoto alle macchine *nix ed è una parte fondamentale del lavoro quotidiano di DevOps e amministrazione di sistema.
10 October 2025 · 4 min to read
Sistema: Ubuntu

Come installare e configurare SSH su Ubuntu 22.04

SSH è un protocollo di rete che consente una connessione sicura tra un client e un server. Tutta la comunicazione è crittografata, impedendo il furto di dati trasmessi sulla rete e altri attacchi remoti. Supponiamo che tu abbia ordinato un server cloud da Hostman. Avrai bisogno di SSH installato e configurato per poterti connettere e amministrare il server. La guida qui sotto descrive come installare e configurare SSH su Ubuntu 22.04. Prerequisiti Before proceeding with the installation and configuration of the Secure Shell service, ensure the following requirements are met: Competenze sulla riga di comando Linux  Una buona conoscenza dei comandi base di Linux come sudo, apt, nano e systemctl è essenziale per configurare il servizio. Questi comandi saranno utilizzati spesso durante il processo. È importante sentirsi a proprio agio nell'ambiente a riga di comando per gestire il servizio in modo efficace. Accesso root o sudo per l'installazione  Sono richiesti privilegi amministrativi (root) per installare e configurare il server. Gli utenti devono avere accesso sudo o essere connessi come root. Senza questi privilegi non è possibile procedere. Connessione Internet per scaricare i pacchetti  È necessaria una connessione Internet stabile per installare il server OpenSSH e eventuali pacchetti aggiuntivi. Senza una connessione funzionante, il sistema non può recuperare i componenti richiesti. Configurazione del firewall per consentire l'accesso  Se sul sistema è attivo un firewall come ufw, è possibile che blocchi l'accesso remoto. È essenziale configurarlo per consentire le connessioni in ingresso. Usa ufw o un altro strumento per assicurarti che la porta 22 sia aperta. Accesso al sistema (locale o remoto)  Devi avere accesso fisico al computer per configurare il servizio in locale oppure deve essere accessibile da remoto tramite indirizzo IP. Assicurati che il sistema sia correttamente connesso alla rete. Non dimenticare che puoi distribuire il tuo server cloud in modo rapido ed economico con il nostro servizio di VPS Hosting. Passaggio 1: Preparare Ubuntu La prima cosa da fare prima di installare SSH su Ubuntu è aggiornare tutti i pacchetti apt. Usa il comando:  sudo apt update && sudo apt upgrade Passaggio 2: Installare SSH su Ubuntu OpenSSH non è installato di default, quindi procediamo con l'installazione manuale:  sudo apt install openssh-server L'installazione dei componenti necessari avrà inizio. Rispondi "Sì" a tutte le richieste del sistema. Una volta terminata l'installazione, passa allo step successivo per avviare il servizio. Passaggio 3: Avviare SSH Ora attiva il servizio appena installato:  sudo systemctl enable --now ssh In caso di successo, riceverai un messaggio di conferma.  Il parametro --now avvia il servizio e lo abilita all'avvio del sistema. Per verificare che il servizio sia attivo e funzionante: sudo systemctl status ssh L'output dovrebbe includere la riga Active: active (running), che conferma l'avvio corretto del servizio. Per disattivare il servizio: sudo systemctl disable ssh Ciò disabilita il servizio e ne impedisce l'avvio automatico. Passaggio 4: Configurare il firewall Prima di connetterti al server via SSH, controlla che il firewall sia configurato correttamente. Se UFW è installato, usa questo comando: sudo ufw status Dovresti vedere che il traffico SSH è consentito. In caso contrario, autorizzalo con:  sudo ufw allow ssh Passaggio 5: Connettersi al server Dopo aver completato i passaggi precedenti, puoi accedere al server via SSH. Avrai bisogno dell'indirizzo IP o del nome di dominio del server e del nome utente. Nel terminale, digita: ssh nomeutente@IP_indirizzo Oppure: ssh nomeutente@dominio Importante: Per una connessione riuscita, SSH deve essere installato e configurato sia sul server remoto sia sul computer client. Passaggio 6 (opzionale): Creare una coppia di chiavi per un'autenticazione sicura Per maggiore sicurezza, puoi configurare una coppia di chiavi al posto della sola password. Per generare la chiave usa:  ssh-keygen Passaggio 7: Configurare SSH Dopo i primi cinque passaggi, puoi già accedere da remoto al server. Tuttavia, puoi migliorare la sicurezza cambiando la porta predefinita o passando all'autenticazione tramite chiave. Queste modifiche richiedono la modifica del file di configurazione sshd_config (posizione: /etc/ssh). Prima di modificare, crea una copia di backup: sudo cp /etc/ssh/sshd_config /etc/ssh/sshd_config.initial In caso di errore, potrai ripristinare la versione originale. Dopo aver creato il backup, puoi procedere alla modifica del file di configurazione. Apri il file con l'editor nano: sudo nano /etc/ssh/sshd_config Nel file, modifica la porta con un numero più sicuro. È consigliabile scegliere un valore dalla gamma dinamica delle porte (49152 - 65535) e usare numeri diversi per maggiore sicurezza. Ad esempio, cambiamo il valore della porta in 49532. Per farlo, rimuovi il commento dalla riga corrispondente nel file e modifica il numero come mostrato nello screenshot qui sotto. Passa all'autenticazione tramite chiave rimuovendo il commento dalla riga relativa e impostando il valore su "Yes". Impedisci anche l'accesso diretto come utente root modificando l'apposita riga. Altre impostazioni consigliate per aumentare la sicurezza: UseDNS: controlla la corrispondenza tra hostname e IP. Imposta "Yes" per abilitarlo. PermitEmptyPasswords: impedisce le password vuote se impostato su "No". MaxAuthTries: limita i tentativi falliti di accesso. AllowUsers e AllowGroups: definiscono gli utenti e i gruppi autorizzati: # AllowUsers Utente1 Utente2 Utente3# AllowGroups Gruppo1 Gruppo2 Gruppo3 LoginGraceTime: definisce il tempo concesso per l'autenticazione. Si consiglia di ridurre questo valore di quattro volte. ClientAliveInterval: tempo massimo di inattività prima della disconnessione. Dopo aver salvato le modifiche, chiudi nano. Riavvia il servizio per applicare i cambiamenti: sudo systemctl restart ssh Se hai modificato la porta, usa il nuovo numero per connetterti: ssh -p numero_porta nomeutente@IP_indirizzo Oppure: ssh -p numero_porta nomeutente@dominio Risoluzione dei problemi di connessione Assicurati che il servizio sia attivo: sudo systemctl status ssh Riavvialo se necessario: sudo systemctl restart ssh Controlla che il firewall consenta il traffico sulla porta 22: sudo ufw allow 22 Verifica che il sistema sia raggiungibile: ping <indirizzo-ip-server> Disattivare il servizio Se per qualsiasi motivo desideri disattivare l'accesso remoto, segui questi passaggi: Arresta il servizio  Per interrompere temporaneamente l'accettazione delle connessioni:  sudo systemctl stop ssh Disabilita l'avvio automatico  Per impedire l'avvio del servizio al riavvio del sistema:  sudo systemctl disable ssh Verifica che il servizio sia inattivo  Controlla che il servizio non sia in esecuzione:  sudo systemctl status ssh Disinstalla il server  Se il servizio non è più necessario, rimuovilo insieme ai file di configurazione associati:  sudo apt remove openssh-server Conclusione Questo articolo fornisce una guida passo passo per installare e configurare SSH su Ubuntu 22.04, incluse le modifiche al file di configurazione per migliorare la sicurezza. Ci auguriamo che questa guida ti aiuti a configurare una connessione remota sicura al tuo server Ubuntu. Per saperne di più sulle chiavi SSH clicca qui.
04 July 2025 · 6 min to read

Hai domande,
commenti o dubbi?

I nostri professionisti sono disponibili per assisterti in ogni momento,
che tu abbia bisogno di aiuto o non sappia da dove iniziare.
Inviaci un'email
Hostman's Support