Passa al contenuto principale

Come connettersi a un server tramite SSH? Segui questi passaggi!

· 7 minuti di lettura
Customer Care Engineer

SSH (Secure Shell) è un protocollo di rete crittografato per il controllo remoto di un sistema operativo e il trasferimento di file. È il metodo principale per lavorare con un server tramite la riga di comando. Sui server kodu.cloud, è disponibile per impostazione predefinita. Questo articolo ti guiderà su come connettersi a un server tramite SSH su Windows, Linux e MacOS, oltre ad autorizzare tramite chiavi SSH.

13-06-connect-via-ssh

Connessione SSH su Windows

A partire da 1, la riga di comando di Windows può funzionare con il client OpenSSH integrato. Prima di ciò, SSH su Windows funzionava tramite un programma di terze parti, uno dei client più diffusi era PuTTY. Di seguito, discuteremo la connessione tramite il client Windows 11 integrato, quindi descriveremo brevemente la connessione tramite PuTTY. Quando ti connetti, puoi utilizzare il tuo nome utente e password per accedere, oppure puoi configurare l'autorizzazione tramite chiave SSH. Iniziamo con il primo metodo e nella seconda metà dell'articolo impareremo come usare una chiave SSH.

Connessione SSH in Windows 11 con nome utente e password

Di norma, OpenSSH è preinstallato in Windows 11 Professional Edition. In Windows 11 Home Edition, è necessario installare il client OpenSSH. Utilizzeremo la console PowerShell per lavorare con SSH. Apri PowerShell. Per farlo, premi il tasto WIN (tasto bandierina di Windows) e inizia a digitare "PowerShell" o trovalo nell'elenco dei programmi nel menu Start. Prova a inserire il comando ssh. Se nella console compare il prompt usage: ssh [-46AaCfGgKkMNnqsTtVvXxYy] [-B bind_interface]..., tutto è a posto. Se la console non riconosce il comando ssh, verifica se OpenSSH è installato utilizzando il comando in PowerShell.

Verifica e installazione di OpenSSH

Apri la console PowerShell, selezionando l'opzione Esegui come amministratore. Inserisci il seguente comando:

Get-WindowsCapability -Online | ? Name -like 'OpenSSH.Client*'

Nel nostro caso, OpenSSH è installato.

SSH instruction 1

Se il comando restituisce un risultato, allora OpenSSH è installato. In caso contrario, installalo usando il seguente comando:

Add-WindowsCapability -Online -Name OpenSSH.Client*

Oppure tramite le impostazioni di Windows 11 (Impostazioni - App - Funzionalità - Client OpenSSH), ma questo metodo potrebbe non funzionare su Windows 11 Home Edition.

Connessione al server

Requisiti per l'autorizzazione sul server: indirizzo IP del server, nome utente, password. Al momento dell'attivazione del servizio, hai ricevuto un'email con le credenziali di accesso dell'utente root. Si prega di salvarle. Se necessario, la password di root può essere reimpostata tramite il sistema di fatturazione. Nella console PowerShell, inserisci il comando ssh con il nome utente e l'indirizzo IP del server.

Dove root è il nome utente e x.xx.xxx.xxx è l'indirizzo IP del server. Puoi trovare l'indirizzo IP nel sistema di fatturazione selezionando il server nella sezione I miei servizi. Se necessario, specifica la porta di connessione utilizzando l'opzione -p:

Successivamente, comparirà una richiesta di password:

password di [email protected]:

Inserisci la password che hai ricevuto cliccando sul link nell'email "Credenziali di accesso". Questo completa il processo di connessione. Ora puoi immettere altri comandi, e verranno eseguiti sul server remoto.

❗ Attenzione: Quando inserisci la password, nessun carattere verrà visualizzato nel campo di input per motivi di sicurezza, e il cursore non si muoverà mentre digiti la password. Questo è normale.

Se hai dimenticato la password di root, puoi reimpostarla selezionando il tuo server nella sezione I miei servizi del sistema di fatturazione, andando alla scheda Gestione e selezionando il comando Reimposta password di root.

Connessione tramite PuTTY

Se stai usando una versione precedente di Windows, l'accesso SSH viene fornito tramite programmi di terze parti come PuTTY. Scarica e installa il programma gratuitamente. Quando apri PuTTY per la prima volta, vedrai una finestra di impostazioni. Nella colonna Host Name (o IP address), inserisci l'IP del server. L'IP può essere verificato nel sistema di fatturazione selezionando il server nella sezione I miei servizi. La porta di connessione predefinita è 22, cambia il valore se necessario. Assicurati che il tipo di connessione sia SSH. Clicca sul pulsante Open.

SSH instruction 2

Quando ti connetti per la prima volta, la finestra PuTTY Security Alert ti chiederà di scegliere se fidarti del server in futuro e aggiungere le sue informazioni alla cache (Accept) o connettersi una volta senza "ricordare" il server (Connect Once).

SSH instruction 3

Se selezioni Accept o Connect Once, apparirà una finestra del terminale che ti permetterà di inserire il tuo nome utente e password per accedere al server. Quando inserisci una password, nessuno dei caratteri verrà visualizzato, questo è normale ed è fatto per scopi di sicurezza. Se c'è un errore durante l'inserimento dei dati, vedrai il messaggio Access denied. Se la connessione ha successo, apparirà un prompt della riga di comando del server, ad esempio,

root@qwerty123:~#

SSH instruction 4

Questo completa il processo di connessione. Puoi inserire altri comandi e verranno eseguiti sul server remoto.

Connessione via SSH su Linux e MacOS con nome utente e password

Il client SSH è preinstallato su tutti i sistemi Linux e MacOS. Puoi usarlo dal terminale. In Linux, il terminale può essere aperto dal menu principale o premendo Ctrl+Alt+T. In MacOS, per connettersi via SSH, viene utilizzata più spesso l'utilità Terminale che viene fornita con il sistema operativo. Nel terminale, inserisci il comando ssh con il nome utente e l'IP del server.

dove root è il nome utente e x.xx.xxx.xxx è l'indirizzo IP del server. L'IP può essere verificato nel sistema di fatturazione selezionando il server nella sezione I miei servizi. Se necessario, specifica la porta di connessione utilizzando l'opzione -p:

Successivamente, comparirà una richiesta di password:

password di [email protected]:

Inserisci la password che hai ricevuto seguendo il link nell'email "Dettagli di accesso". Questo completa il processo di connessione. Puoi inserire altri comandi e verranno eseguiti sul server remoto.

Autorizzazione tramite chiave SSH

L'autorizzazione tramite chiave SSH è un modo di autorizzazione rapido, comodo e più sicuro. Per configurarla, è prima necessario generare una chiave SSH.

Creazione di una chiave SSH su Windows 11

Apri PowerShell in modalità amministratore (Esegui come amministratore nel menu Start). Inserisci il comando ssh-keygen e vedi il risultato:

Generazione coppia di chiavi rsa pubblica/privata.
Inserire il file in cui salvare la chiave (C:\Users\user\.ssh\id_rsa):
Inserire una passphrase (vuota per nessuna passphrase):
Inserire di nuovo la stessa passphrase:
La tua identificazione è stata salvata in C:\Users\user\.ssh\id_rsa.
La tua chiave pubblica è stata salvata in C:\Users\user\.ssh\id_rsa.pub.

Durante il processo di creazione della chiave, la console ti chiederà di accettare di salvare la chiave nel file predefinito (.ssh/id_rsa) o di inserire un nuovo indirizzo, oltre a inserire una passphrase.

Passphrase ❗ Questo è un elemento di sicurezza aggiuntivo della chiave SSH. Se ignori l'inserimento della parola segreta e premi semplicemente Invio, non dovrai inserire alcuna password al momento dell'accesso successivo. Il server verificherà automaticamente la parte della chiave memorizzata sul tuo computer. Tuttavia, se qualcuno prende il controllo del tuo computer, potrà facilmente accedere ai tuoi server. Per evitare ciò, inserisci una passphrase.

Generazione di una chiave SSH utilizzando PuTTYgen

Sulle versioni di Windows fino alla 10, è conveniente utilizzare PuTTYgen, un'utilità installata di default con PuTTY, per creare una chiave. Apri PuTTYgen. Clicca sul pulsante Generate. Muovi il cursore sullo schermo quando PuTTYgen te lo chiede. La chiave verrà generata.

SSH instruction 5

Salva la chiave generata cliccando sui pulsanti Save public key e Save private key. Copia la chiave pubblica visualizzata nella finestra del programma negli appunti (Ctrl+C).

Creazione di una chiave SSH su Linux e MacOS

Sulle console Linux e MacOS, usa l'utilità ssh-keygen per generare una chiave SSH.

$ ssh-keygen 
Generazione coppia di chiavi rsa pubblica/privata.
Inserire il file in cui salvare la chiave (/home/user/.ssh/id_rsa):
Inserire passphrase (vuota per nessuna passphrase):
Inserire di nuovo la stessa passphrase:
La tua identificazione è stata salvata in /home/user/.ssh/id_rsa
La tua chiave pubblica è stata salvata in /home/user/.ssh/id_rsa.pub

Durante il processo di creazione della chiave, la console ti chiederà di accettare di salvare la chiave nel file predefinito (.ssh/id_rsa) o di inserire un nuovo indirizzo, oltre a inserire una passphrase. Leggi sull'importanza di utilizzare una passphrase in precedenza in questo articolo.

Inserimento della parte pubblica della chiave SSH sul server e connessione senza password

Quando autorizzi tramite una chiave SSH, la parte pubblica della chiave presente sul server viene confrontata con la parte privata della chiave sul tuo computer.

Dopo aver effettuato l'accesso al server tramite SSH, le azioni nella console eseguite sul server remoto non saranno diverse per Windows, Linux e MacOS.

Dopo esserti connesso al server remoto utilizzando il tuo nome utente e password, inserisci i seguenti comandi. Creeranno una directory e un file per memorizzare la chiave e imposteranno i relativi permessi di accesso

mkdir ~/.ssh
chmod 0700 ~/.ssh
touch ~/.ssh/authorized_keys
chmod 0600 ~/.ssh/authorized_keys

Dopo di ciò, inserisci la parte pubblica della chiave SSH che hai creato in precedenza nel file authorized_keys. Per fare ciò, copia il contenuto del file id_rsa.pub (se la chiave è stata creata in PuTTYgen, puoi copiare la chiave direttamente dalla finestra del programma). Apri il file authorized_keys in un editor della console, ad esempio nano.

nano ~/.ssh/authorized_keys

Incolla il contenuto degli appunti nel file (Ctrl+V) e chiudi l'editor con la scorciatoia da tastiera Ctrl+X e premendo Y per salvare le modifiche. Su Linux e MacOS, invece di queste manipolazioni, puoi usare un comando che trasferisce automaticamente la parte pubblica della chiave a un server remoto:

ssh-copy-id [email protected]

dove root è il nome utente e x.xx.xxx.xxx è l'indirizzo IP del server a cui inviare la chiave.

La chiave pubblica è stata trasferita con successo al server remoto. Ora, quando ti connetti al server con il comando ssh [email protected], non dovrai inserire una password, ma dovrai inserire una passphrase se è stata creata durante la generazione della chiave SSH. Se ti connetti a un server remoto tramite PuTTY, per autorizzare tramite chiave, inserisci il percorso del file contenente la parte privata della chiave nelle impostazioni Connection - SSH - Auth nella colonna Private key file for authentication.

SSH instruction 6

Aggiunta di chiavi SSH al sistema di fatturazione

Un modo conveniente per autorizzare sui server kodu.cloud è aggiungere chiavi SSH nel sistema di fatturazione. Vai alla sezione Il mio account - Chiavi SSH. Lì puoi scaricare la parte pubblica delle chiavi SSH, che verrà automaticamente aggiunta ai tuoi server per un'autorizzazione comoda e sicura. Le chiavi saranno disponibili solo al momento dell'ordinazione di nuovi server e dopo la reinstallazione del sistema operativo o l'avvio in modalità di recupero sui server che stai già utilizzando.

Puoi avviare la reinstallazione del sistema operativo sui tuoi server nel sistema di fatturazione selezionando il server nella sezione I miei servizi, andando alla scheda Gestione e selezionando l'opzione Reinstalla OS. In questa fase, potrai selezionare una chiave SSH tra quelle precedentemente caricate nel sistema di fatturazione per l'autorizzazione successiva sul server.

Ordina VPS kodu.cloud e prova a configurare l'autorizzazione tramite chiave SSH, e il nostro team di supporto sarà felice di aiutarti e rispondere a qualsiasi domanda.