Questo articolo è dedicato a spiegare come usare SSH per connettersi a un server remoto in Linux. Copriamo anche il metodo di utilizzo di PuTTY per connettersi a un server Linux remoto. Naturalmente, PuTTY non è l'unico client SSH che puoi usare per le tue connessioni remote. Dai un'occhiata a questo confronto dei migliori client SSH per Windows nel 2022 e scegli quello che corrisponde alle tue esigenze. L'accesso remoto ai dispositivi è diventato un requisito essenziale, e difficilmente riusciremmo a immaginare come sarebbe senza la possibilità di controllare i computer da postazioni distanti.
- Cos'è SSH e cosa significa?
- Come funziona SSH?
- Che cos'è un terminale?
- Cos'è SSL?
- Come creare una connessione SSH?
- Come usare SSH per connettersi a un server remoto in Linux?
- Prossimi passaggi nel controllo remoto SSH
- Che cos'è PuTTY?
- Come connettersi a un server Linux con PuTTY?
- Come configurare l'autenticazione a chiave pubblica SSH su Linux?
- Passaggio 1: Genera una coppia di chiavi
- Passaggio 2: Specifica un nome file e una password
- Passaggio 3: Copia la chiave pubblica
- Passaggio 4: Inserisci le credenziali del tuo account
- Passaggio 5: Accedi al sistema remoto
- Passaggio 6: Crea il file necessario nel tuo account
- Passaggio 7: Aggiungi i contenuti del file della chiave pubblica al file authorized-keys
- Passaggio 8: Rimuovi il file della chiave pubblica
- Passaggio 9: Aggiungi la tua chiave pubblica ad altri sistemi (Facoltativo)
- Passaggio 10: SSH al tuo account nel sistema remoto
- Standard importanti per il desktop remoto
- Che cos'è VNC?
- Tunnel VNC su SSH
- Che cos'è RDP?
- Considerazione finale: connessione remota SSH
- Domande frequenti
Esistono diversi modi per connettersi a una macchina remota a seconda del sistema operativo utilizzato, ma i due protocolli più diffusi sono:
- Secure Shell (SSH) per dispositivi basati su Linux
- Remote Desktop Protocol (RDP) per dispositivi Windows
Entrambi i protocolli utilizzano applicazioni client e server per creare connessioni remote. Questi strumenti ti permettono di accedere e controllare altre macchine da remoto, trasferire dati e fare praticamente tutto ciò che puoi fare quando sei fisicamente davanti al computer.
Cos'è SSH e cosa significa?
SSH (Secure Shell), noto anche come "Secure Socket Shell", è un protocollo che ti permette di connetterti in modo sicuro a un dispositivo remoto o a un server utilizzando un'interfaccia testuale. I due protocolli più diffusi per connettersi a una macchina remota sono SSH e RDP. La creazione di una connessione SSH richiede un componente client e uno server.
Quando viene creata una connessione SSH sicura, inizia una sessione shell e potrai controllare il server digitando comandi nel client sulla tua macchina locale. Chi ha bisogno di accedere a un dispositivo da remoto in modo altamente sicuro, in particolare amministratori di sistema e di rete, utilizza questo protocollo.
Hai bisogno di un Desktop remoto?
Server RDP affidabili e ad alte prestazioni con uptime del 99,95%. Porta il tuo desktop ovunque nelle principali città di USA, Europa e Asia.
Ottieni un Server RDPCome funziona SSH?
Per creare una connessione SSH, hai bisogno di due componenti:
il client e la corrispondente parte lato server. Il client SSH è un'applicazione che esegui su un dispositivo per connetterti a un altro computer o server. Il client utilizza i dati forniti dall'host remoto per avviare la connessione. Una volta convalidate le credenziali, il client crea una connessione crittografata.
Sul lato server, c'è un componente chiamato daemon SSH (SSHD) che rimane in ascolto su una porta TCP/IP specifica per eventuali richieste di connessione da parte di client. Se un client avvia una connessione, il daemon SSH risponde con le versioni software e protocollo che supporta, e i due scambiano i dati di identificazione.
Se la credenziale ricevuta è corretta, SSH stabilisce una nuova sessione per l'ambiente appropriato. La versione predefinita del protocollo SSH per la comunicazione tra server SSH e client SSH è la versione 2.
Leggi anche: Miglior client SSH per Windows nel 2022
Che cos'è un terminale?
Se sei nuovo a Linux, vorrai acquisire familiarità con il terminale. Consideralo come l'hub di scorciatoie di comando definitivo, il modo generico per comunicare con un server Linux.
Usare la riga di comando potrebbe sembrare complicato, ma è semplice se cominci dalle basi, come questi 15 comandi essenziali che ogni utente dovrebbe conoscere.
Il terminale diventa ancora più cruciale se pianifichi di sviluppare un'applicazione (o stai imparando a svilupparne una) usando PHP o Python. A differenza di Windows, che crea confusione cercando di ricrearne Python con una GUI, Linux integra Python e altri linguaggi di programmazione nel terminale. Quindi, anche se devi completare alcuni passaggi per installare Python su Windows solo per ottenere un risultato inefficace, Linux già lo include, ed è accessibile dalla riga di comando.
Hosting Linux Semplificato
Cerchi un modo migliore per ospitare i tuoi siti e app web? Stai sviluppando qualcosa di nuovo? Semplicemente non ti piace Windows? Per questo abbiamo Linux VPS.
Ottieni il tuo Linux VPSCos'è SSL?
SSH utilizza SSL (Secure Socket Layer) per fornire sicurezza ai dati trasferiti tra browser web e server. La crittografia del collegamento tra un server web e un browser avviene con SSL, garantendo che tutti i dati scambiati rimangono privati e protetti dagli attacchi. In altre parole, la creazione di chiavi pubbliche e private tra server remoti e computer locali che si connettono tramite SSH è parte del protocollo di sicurezza SSL. Questo ulteriore livello di protezione è particolarmente utile nel caso di attacchi a forza bruta basati su password.
Come creare una connessione SSH?
Poiché la creazione di una connessione SSH richiede sia un componente client che uno server, devi assicurarti che siano installati su macchine locali e remote.
OpenSSH è uno strumento SSH open-source comunemente usato per le distribuzioni Linux ed è relativamente facile da usare. Richiede accesso al terminale sul server e sul dispositivo che stai usando per connetterti. Nota che Ubuntu non ha un server SSH installato di default. A questo punto della guida alla connessione remota SSH, abbiamo compreso SSH e i concetti correlati. Passiamo quindi all'installazione di OpenSSH Client.
Passaggio 1: Installa un client OpenSSH
Prima di installare il client SSH, assicurati che non sia già installato sul tuo sistema. Molte distribuzioni Linux hanno già un client SSH.
- Esegui il comando seguente per installare OpenSSH sul tuo dispositivo:
sudo apt-get install openssh-client
- Inserisci la password di superutente quando richiesto.
- Premi Invio per completare il processo di installazione.
Se hai i permessi necessari per accedere insieme al nome host o all'indirizzo IP, puoi ora usare SSH su qualsiasi computer con un'applicazione lato server.
Passaggio 2: Installa un server OpenSSH
Per accettare connessioni SSH, la parte lato server del toolkit software SSH deve essere installata sul computer. Per farlo, devi seguire questi passaggi:
- Apri il terminale sulla tua macchina server. Puoi cercare un terminale o fare clic Ctrl + Alt + T sulla tua tastiera.
- Inserisci il comando seguente per installare il tuo server SSH:
sudo apt-get install openssh-server
- Inserisci la password di superutente quando richiesto.
- Premi Enter e Y per permettere all'installazione di continuare dopo la richiesta di spazio su disco.
Dopo aver completato i passaggi precedenti, avrai i file di supporto appropriati installati, quindi potrai verificare se il server SSH è in esecuzione sulla macchina inserendo questo comando:
sudo service ssh status
La risposta del terminale dovrebbe apparire identica a questa se il servizio SSH è in esecuzione correttamente:

Un altro modo per verificare se il server OpenSSH è installato correttamente e accetterà connessioni è rieseguire il comando ssh localhost nel prompt del terminale. La risposta apparirà simile a questa schermata quando esegui il comando per la prima volta:

Adesso, inserisci sì or y per continuare.
Perfetto! Il tuo server è ora pronto ad accettare richieste di connessione remota SSH da un altro computer usando un client SSH.
Come usare SSH per connettersi a un server remoto in Linux?
Ora che hai il client e il server OpenSSH installati su ogni dispositivo di cui hai bisogno, puoi creare una connessione remota SSH sicura ai tuoi server seguendo questi passaggi:
- Apri il terminale SSH sul tuo computer e avvia il comando seguente:
Se il nome utente sul tuo dispositivo locale corrisponde a quello a cui ti stai per connettere sul server, puoi eseguire questo comando:
ssh your_username@host_ip_address
Se il nome utente sul tuo dispositivo locale corrisponde a quello del server a cui ti stai per connettere, puoi eseguire questo comando:
ssh host_ip_address
E premi Enter.
- Inserisci la tua password e premi Invio. Nota che non riceverai alcun feedback sullo schermo quando digiti. Se incolli la tua password, assicurati che sia archiviata in modo sicuro e non in un file di testo.
- Quando ti connetti a un server per la prima volta, ti verrà chiesto se vuoi continuare a connetterti. Digita semplicemente "sìe premere Enter. Questo messaggio appare solo questa volta perché il server remoto non è riconosciuto sul tuo computer locale.
- L'impronta della chiave ECDSA è stata aggiunta e sei connesso al server remoto.
Se il dispositivo che stai tentando di collegare è sulla stessa rete, è più sicuro usare l'indirizzo IP privato anziché quello pubblico. Altrimenti, dovrai usare l'indirizzo IP pubblico. Ora puoi gestire e controllare un dispositivo remoto dal terminale. Se hai difficoltà a connetterti a un server remoto, verifica che l'indirizzo IP del dispositivo remoto, il nome utente e la password siano corretti. Inoltre, assicurati che la porta su cui il daemon SSH rimane in ascolto non sia bloccata da un firewall o configurata erroneamente.
Hosting Linux Semplificato
Cerchi un modo migliore per ospitare i tuoi siti e app web? Stai sviluppando qualcosa di nuovo? Semplicemente non ti piace Windows? Per questo abbiamo Linux VPS.
Ottieni il tuo Linux VPSProssimi passaggi nel controllo remoto SSH
Ora che puoi creare una connessione remota SSH al tuo server, ti consigliamo vivamente di seguire alcuni passaggi aggiuntivi per migliorare il controllo remoto SSH e la sua sicurezza. Quando usi i valori predefiniti per la configurazione della connessione remota SSH, il tuo sistema diventa più vulnerabile a hacking e intrusioni, rendendo l'accesso remoto SSH non sicuro e trasformando il tuo sistema in bersaglio di attacchi automatici.
Ecco alcuni suggerimenti per migliorare la sicurezza SSH che puoi attuare modificando il file di configurazione sshd:
- Modifica la porta predefinita TCP su cui il daemon SSH rimane in ascolto e cambiarla da 22 a un numero molto più alto, come 245976. Fai attenzione a non usare numeri di porta facili da indovinare, come 222, 2222 o 22222.
- Usa coppie di chiavi SSH per l'autenticazione dell'accesso SSH senza password. Sono più sicure e ti permettono di accedere senza inserire la password, offrendoti un approccio più veloce e conveniente.
- Disabilita gli accessi basati su password sul tuo server. Se la tua password viene scoperta, disabilitarli eliminerà la possibilità di usarla per accedere ai tuoi server. Prima di farlo, è essenziale assicurarsi che l'autenticazione tramite coppie di chiavi funzioni correttamente.
- Disabilita l'accesso root al tuo server e usa un account regolare con il comando su – (per passare all'utente root).
Ora sappiamo di più sulla connessione remota SSH e su come accedere a SSH da remoto. Abbiamo fatto riferimento a PuTTy più volte in questo articolo; naturalmente, se non hai familiarità con PuTTy, potresti avere domande al riguardo. Oltre a fornire una guida sulla connessione remota SSH, ti daremo una panoramica di PuTTy e ti mostreremo come usarlo per connetterti a un server Linux.
Che cos'è PuTTY?
PuTTY è un popolare emulatore di terminale Windows non limitato ai sistemi operativi Windows. PuTTy è gratuito e open source, quindi è popolare anche tra gli utenti Linux e offre un'interfaccia utente testuale per computer remoti che eseguono qualsiasi protocollo supportato. incluso SSH e Telnet.
[su_button url="https://www.putty.org/" target="blank" style="soft" size="5"]Download Putty[/su_button]
Nota: PuTTY è un software gratuito da scaricare e offre un modo semplice per accedere all'ambiente shell Unix dal tuo sistema Windows. A differenza di Unix, Windows non dispone di un server o client SSH preinstallato. Ecco perché il programma di trasferimento file di rete supporta una varietà di protocolli, inclusi client Telnet.
Leggi anche: Generare chiavi SSH in Windows 10
Come scaricare e installare PuTTY su Ubuntu Linux?
La versione Linux di PuTTY è un'applicazione terminale grafica che non è preinstallata nella maggior parte delle distribuzioni Linux. Tuttavia, puoi facilmente installare PuTTY tramite terminale su un dispositivo basato su Linux.
Se non hai PuTTY installato, visita la Scarica PuTTY pagina e scarica l'installer Linux dalla sezione Package Files della pagina.
La buona notizia per gli utenti Linux è che PuTTY è disponibile nel repository universe Ubuntu. Per installare PuTTY su Linux Ubuntu, devi prima assicurarti che il repository universe sia abilitato. Usa questo comando:
sudo add-apt-repository universe
Dopo aver abilitato il repository universe, puoi aggiornare Ubuntu con questo comando:
sudo apt update
Poi installa PuTTY con questo comando:
sudo apt install putty
Al termine dell'installazione di PuTTY, puoi avviare PuTTY cercandolo nel menu. La versione Linux di PuTTY è quasi identica alla versione Windows. Quindi, non avrai difficoltà a navigare tra le impostazioni nuove e modificate.
Come connettersi a un server Linux con PuTTY?
Se vuoi connetterti a un server Linux usando PuTTY dopo averlo installato, devi seguire questi passaggi:
Passaggio 1: Configura PuTTY
La schermata di configurazione della sessione principale apparirà quando avvii PuTTY. Inizia inserendo il Nome Host (o indirizzo IP) del server a cui stai tentando di connetterti.
Per impostazione predefinita, la porta sarà impostata su 22, che è la porta standard per SSH sulla maggior parte dei server. Questo rappresenta una vulnerabilità perché gli hacker sapranno quale porta attaccare per impostazione predefinita. Dovresti cambiare la porta SSH seguendo queste istruzioni e poi cambiare il numero in PuTTY. Assicurati che il tipo di connessione sia impostato su SSH.
Se non usi una chiave privata per connetterti al tuo server e preferisci non salvare la tua configurazione per un uso futuro, in tal caso dovresti fare clic su Apri per abilitare una connessione SSH immediata al tuo server che lo autentica con la password del tuo account.
Se questa è la prima volta che ti connetti al tuo server, PuTTY visualizzerà un Avviso di sicurezza per farti sapere che non ha una chiave nel registro per questo server. È normale per la tua prima connessione.

Se la connessione ha esito positivo, ti verrà chiesto di inserire la tua password. Una volta fatto, sarai connesso a una shell sul tuo server.
Leggi anche: Installa MikroTik CHR su VPS (usando PuTTY)
Passaggio 2: Salva la configurazione di PuTTY per i prossimi utilizzi
PuTTY ti consente di salvare la configurazione che usi per connetterti a un server, in modo da non dover digitare tutte le informazioni ogni volta. Dopo aver compilato tutti i campi necessari e essere pronto a connetterti, assicurati di trovarti nella schermata principale di configurazione della sessione descritta sopra.
Puoi vedere il nome host e il numero di porta del tuo server. Inserisci il nome della configurazione della sessione SSH salvata nella casella di testo sotto Sessioni Salvate e premi Salva.
Come configurare l'autenticazione a chiave pubblica SSH su Linux?
PuTTY può essere configurato anche per usare le chiavi SSH. Le chiavi SSH sono più sicure e talvolta più convenienti, metodi di autenticazione. Puoi usare PuTTY stesso per generarle. Ecco la nostra guida sulla generazione delle chiavi SSH usando PuTTY su Windows. Puoi usarla per migliorare rapidamente la sicurezza di SSH.
Devi seguire alcuni passaggi per configurare l'autenticazione a chiave pubblica tramite SSH su un Linux (o computer macOS):
Passaggio 1: Genera una coppia di chiavi
Per prima cosa, accedi al computer che utilizzerai per accedere all'host remoto e usa il comando da riga SSH per generare una coppia di chiavi tramite l'algoritmo RSA. Per generare chiavi RSA, digita quanto segue sulla riga di comando e premi Invio:
ssh-keygen -t rsa
Passaggio 2: Specifica un nome file e una password
Dovrai specificare un nome file per salvare la coppia di chiavi e una password per proteggere la tua chiave privata. Se desideri continuare con il nome file e la posizione predefiniti per la tua coppia di chiavi, fai clic su Invio senza inserire un nome file. In alternativa, puoi inserire un nome file come My_ssh_key al prompt e premere Invio. Presta attenzione al fatto che molti host remoti sono configurati per accettare chiavi private con il nome file e il percorso predefiniti. Pertanto, devi invocare esplicitamente questo sulla riga di comando SSH o in un file di configurazione del client SSH (~/.ssh/config).
Devi inserire una password con almeno cinque caratteri e fare clic su Invio. Se fai clic su Invio senza una password, genererà la tua chiave privata senza protezione della password.
Passaggio 3: Copia la chiave pubblica
Usa SFTP o SCP per copiare il file della chiave pubblica sul tuo account nel sistema remoto.
Passaggio 4: Inserisci le credenziali del tuo account
Ti verrà chiesta la password del tuo account. La tua chiave pubblica verrà duplicata nella tua directory home e mantenuta con lo stesso nome file nel sistema remoto.
Passaggio 5: Accedi al sistema remoto
Accedi al sistema remoto con il nome utente e la password del tuo account
Passaggio 6: Crea il file necessario nel tuo account
Nel caso in cui il tuo account nel sistema remoto non disponga già di un file ~/.ssh/authorized_keys, creane uno digitando i seguenti comandi:
mkdir -p ~/.ssh
touch ~/.ssh/authorized_keys
Passaggio 7: aggiungi il contenuto del file della chiave pubblica al file authorized-keys

Nel sistema remoto, aggiungi il contenuto del tuo file di chiave pubblica, come ~/id_rsa.pub, a una nuova riga nel tuo file ~/.ssh/authorized_keys usando il seguente comando:
cat ~/id_rsa.pub >> ~/.ssh/authorized_keys
Potresti voler verificare il contenuto di ~/.ssh/authorized_keys per assicurarti che la tua chiave pubblica sia stata aggiunta correttamente tramite il comando seguente:
more ~/.ssh/authorized_keys
Passaggio 8: Rimuovi il file della chiave pubblica
Ora puoi eliminare in sicurezza il file della chiave pubblica dal tuo account sul sistema remoto usando il seguente comando:
rm ~/id_rsa.pub
In alternativa, se preferisci conservare una copia della chiave pubblica sul sistema remoto, spostala nella directory .ssh con questo comando:
mv ~/id_rsa.pub ~/.ssh/
Passaggio 9: Aggiungi la tua chiave pubblica ad altri sistemi (Facoltativo)
A questo punto della configurazione dell'autenticazione a chiave pubblica SSH, puoi ripetere questi passaggi per aggiungere la tua chiave pubblica ad altri sistemi remoti a cui vuoi accedere dal computer con la tua chiave privata utilizzando l'autenticazione a chiave pubblica SSH.
Passaggio 10: SSH al tuo account nel sistema remoto
Ora dovresti riuscire a utilizzare i vantaggi della connessione remota SSH, sfruttando il tuo account sul sistema remoto che contiene la tua chiave privata. Se la tua chiave privata è protetta da password, il sistema remoto ti chiederà la password o la passphrase (come nella figura sotto). Nota che la password o la passphrase della tua chiave privata non viene inviata al sistema remoto.

Se la tua chiave privata non è protetta da password, il sistema remoto ti porterà direttamente al prompt dei comandi nella tua home directory senza chiedere una password o passphrase, e vedrai un output simile a questo:

Clicca su Apri Premi Tab, inserisci la password e connettiti.
Oltre alla connessione remota SSH, esistono numerosi strumenti di desktop remoto che ti permettono di controllare un sistema da lontano. Vediamo brevemente questi strumenti.
Leggi anche: Tutto quello che devi sapere su SSH SOCKS5 Proxy
Standard importanti per il desktop remoto
VNC e RDP sono due protocolli di desktop remoto; entrambi perseguono obiettivi simili, ma i loro metodi differiscono.
Che cos'è VNC?
A volte VNC (virtual network computing) viene confuso erroneamente con VPN (Virtual Private Network). Entrambi funzionano allo stesso modo in un ambiente di rete peer-to-peer, consentendo l'accesso remoto a un computer. Tuttavia, non sono essenzialmente la stessa cosa.
VNC offre accesso completo al dispositivo attraverso sistemi di condivisione del desktop che ti permettono di controllare totalmente il tuo computer in remoto. Le funzionalità di desktop remoto aumentano la produttività di tutti gli interessati, inclusi singoli utenti, organizzazioni e staff IT.
D'altro canto, una VPN offre accesso remoto alla rete piuttosto che al sistema stesso, il che significa che puoi accedere solo a dati e apparecchiature condivise, come una stampante condivisa in un ufficio.
Tunnel VNC su SSH
Se ti connetti a un desktop remoto utilizzando il protocollo Virtual Network Computing (VNC), la tua connessione non sarà sicura. Alcuni client VNC non proteggono la tua connessione oltre il punto di accesso iniziale. Puoi instradare una connessione VNC attraverso un tunnel Safe Shell (SSH) per risolvere il problema. Il tunnel SSH fornisce una connessione sicura per VNC, permettendoti di usare le connessioni VNC quando la porta VNC standard (porta 5901) è bloccata.
Alcune reti aziendali bloccano le porte standard, come la porta 5901, per una protezione aggiuntiva, quindi l'instradamento di VNC su SSH ti permetterà di superare questo problema.
Che cos'è RDP?
RDP (Remote Desktop Protocol) è un protocollo di comunicazione di rete creato da Microsoft che consente agli utenti di connettersi in remoto a un altro dispositivo. Il Remote Desktop Protocol è un'estensione dei protocolli T.120 (protocolli ordinari) come parte dell'ITU (International Telecommunications Union).
Hai bisogno di un Desktop remoto?
Server RDP affidabili e ad alte prestazioni con uptime del 99,95%. Porta il tuo desktop ovunque nelle principali città di USA, Europa e Asia.
Ottieni un Server RDPConsiderazione finale: connessione remota SSH
Per creare una connessione remota SSH e usarla per connetterti a un server in Linux, hai bisogno della parte client e della corrispondente parte lato server come due componenti. Questo articolo di guida ha spiegato come accedere in remoto a SSH e utilizzarne i vantaggi. Siamo orgogliosi di offrire vari piani Linux VPS per aiutarti a sfruttare al massimo le sue grandi qualità. Su Cloudzy, facciamo del nostro meglio per fornirti soluzioni Linux VPS eccellenti affinché il tuo servizio selezionato abbia sicurezza e prestazioni eccezionali, offrendoti un'esperienza di hosting straordinaria.
Domande frequenti
Che cos'è SSH?
SSH è un protocollo utilizzato per la sicurezza durante la connessione a un server remoto. Il comando ssh utilizza questo protocollo per trasferire dati tra il client e l'host in forma crittografata.
Come configurare le chiavi SSH?
- Genera chiavi SSH
- Assegna un nome alle tue chiavi SSH
- Inserisci una password (opzionale)
- Sposta la chiave pubblica sul sistema remoto
- Testa la tua connessione.
Che cos'è una coppia di chiavi SSH?
Ogni coppia di chiavi SSH include due chiavi dette: chiave pubblica e chiave privata. Chiunque disponga di una copia della chiave pubblica può crittografare i dati, ma questi dati possono essere letti solo dalla persona che possiede la corrispondente chiave privata.
Dove si trova la chiave privata SSH?
Se utilizzi il nome predefinito, la tua chiave privata verrà memorizzata in "/root/.ssh/id_rsa".