Come creare chiavi SSH con PuTTY per connettersi a un VPS
Vantaggi delle chiavi SSH pubbliche e private
Se il tuo VPS headless o remoto è visibile su Internet, dovresti utilizzare l'autenticazione con chiave pubblica invece delle password, se possibile. Questo perché le chiavi SSH
Oggi, OpenSSH è l'implementazione SSH predefinita su sistemi simili a Unix come Linux e OS X. Basato su chiavi
Quando accedi al tuo DigitalOcean VPS, il server SSH utilizza la chiave pubblica per \bloccare\ i messaggi in un modo che può essere \sbloccato\ solo dalla tua chiave privata. Questo
Login SSH basati su chiave
Puoi salvare la stessa chiave pubblica su tutti i server cloud che desideri, mentre la tua chiave privata viene salvata su un client da cui accedi al server. Allora puoi
Automatizza la creazione di nuove goccioline
Un altro scopo utile che le chiavi SSH possono servire è la creazione di goccioline DigitalOcean. Come sai, quando fai girare una goccia, devi aspettare un'e-mail
- Prima completa la sezione di questo tutorial intitolata Generazione di chiavi compatibili con OpenSSH da utilizzare con PuTTY.
- Quindi, vai al passaggio tre di Come utilizzare le chiavi SSH con i droplet di DigitalOcean.
Prerequisiti
Questo tutorial presuppone che tu abbia familiarità con la guida di DigitalOceans su
PuTTY Key Generator (noto anche come PuTTYgen)
Sebbene PuTTY sia un programma client per SSH (oltre a Telnet e Rlogin), non è un porting o comunque basato su OpenSSH. Di conseguenza, PuTTY non ha
PuTTYgen è un'utilità open source (gratuita) e può essere scaricata dalla
Generazione di chiavi compatibili con OpenSSH da utilizzare con PuTTY
Per generare un set di chiavi RSA con PuTTYgen:
- Avvia l'utility PuTTYgen, facendo doppio clic sul suo file .exe;
- Per Tipo di chiave da generare, seleziona RSA;
- Nel campo Numero di bit in una chiave generata, specificare 2048 o 4096 (l'aumento dei bit rende più difficile decifrare la chiave con metodi a forza bruta);
- Fai clic sul pulsante Genera;
- Sposta il puntatore del mouse nell'area vuota della sezione Chiave, sotto la barra di avanzamento (per generare un po' di casualità) fino alla barra di avanzamento è pieno;
- Ora è stata generata una coppia di chiavi privata/pubblica;
- Nel campo Commento chiave, inserisci qualsiasi commento che desideri, per aiutarti a identificare questa coppia di chiavi, in seguito (ad es. il tuo indirizzo e-mail; casa; ufficio; ecc.) -- il commento chiave è particolarmente utile nel caso in cui finisci per creare più di una coppia di chiavi;
- Facoltativo: digitare una passphrase nel campo Passphrase chiave e digitare nuovamente la stessa passphrase nel campo Conferma passphrase (se desideri utilizzare le tue chiavi per processi automatizzati, tuttavia, non dovresti creare una passphrase);
- Fai clic sul pulsante Salva chiave pubblica e scegli il nome del file che desideri (alcuni utenti creano una cartella nel proprio computer denominata my_keys);
- Fai clic sul pulsante Salva chiave privata e scegli il nome file che desideri (puoi salvarlo nella stessa posizione della chiave pubblica, ma dovrebbe essere un posizione a cui solo tu puoi accedere e che NON perderai! Se perdi le tue chiavi e hai disabilitato gli accessi con nome utente/password, non sarai più in grado di accedere!);
- Fai clic con il pulsante destro del mouse sul campo di testo denominato Chiave pubblica da incollare nel file OpenSSH authorized_keys e scegli Seleziona tutto;
- Fai nuovamente clic con il pulsante destro del mouse nello stesso campo di testo e scegli Copia.
NOTA: PuTTY e OpenSSH utilizzano formati diversi per le chiavi SSH pubbliche. Se la chiave SSH copiata inizia con \---- BEGIN SSH2 PUBLIC
Salva la chiave pubblica sul server
Ora devi incollare la chiave pubblica copiata nel file ~/.ssh/authorized_keys sul tuo server.
- Log in to your destination server; see How to Log Into Your Droplet with PuTTY (for windows users)
- If your SSH folder does not yet exist, create it manually:
- Paste the SSH public key into your ~/.ssh/authorized_keys file (see Installing and Using the Vim Text Editor on an Cloud Server):
- Tap the
i
key on your keyboard & right-click your mouse to paste. - To save, tap the following keys on your keyboard (in this order):
Esc
,:
,w
,q
,Enter
.
mkdir ~/.ssh chmod 0700 ~/.ssh touch ~/.ssh/authorized_keys chmod 0644 ~/.ssh/authorized_keys
sudo vim ~/.ssh/authorized_keys
Crea un profilo PuTTY per salvare le impostazioni dei server
In PuTTY, puoi creare (e salvare) profili per le connessioni ai tuoi vari server SSH, quindi non devi ricordare e riscrivere continuamente informazioni ridondanti.
- Avvia PuTTY facendo doppio clic sul suo file eseguibile;
- La finestra iniziale di PuTTY è la categoria Sessione (naviga tra le varie categorie di PuTTY, lungo il lato sinistro della finestra);
- Nel campo Nome host, inserisci l'indirizzo IP del tuo VPS o il suo nome di dominio completo (FQDN); vedi Come impostare un nome host con DigitalOcean
- Inserisci il numero di porta nel campo Porta (per una maggiore sicurezza, prendi in considerazione la possibilità di cambiare la porta SSH del tuo server con una porta non standard. Vedi Passaggio cinque di Installazione iniziale del server con Ubuntu 12.04
- Seleziona SSH sotto Protocollo;
- Lungo il lato sinistro della finestra, seleziona la sottocategoria Dati, sotto Connessione;
- Specifica il nome utente che intendi utilizzare quando accedi al server SSH e il cui profilo stai salvando nel campo Nome utente accesso automatico;
- Espandi la sottocategoria SSH, sotto Connessione;
- Evidenzia la sottocategoria Auth e fai clic sul pulsante Sfoglia, sul lato destro della finestra di PuTTY;
- Sfoglia il tuo file system e seleziona la tua chiave privata creata in precedenza;
- Torna alla categoria Sessione e inserisci un nome per questo profilo nel campo Sessioni salvate, ad es. utente@123.456.78.9 o utente@host.tuodominio.tld;
- Fai clic sul pulsante Salva per l'area Carica, salva o elimina una sessione archiviata.
Ora puoi andare avanti e accedere a user@1.2.3.4 e non ti verrà richiesta una password. Tuttavia, se hai impostato una passphrase sulla tua chiave pubblica, ti verrà chiesto di inserire la passphrase in quel momento (e ogni volta che accedi, in futuro).
Disattiva gli accessi con nome utente/password
Dopo aver verificato che i tuoi accessi basati su chiave funzionino, puoi scegliere di disabilitare gli accessi con nome utente/password per ottenere una maggiore sicurezza. Per fare questo, devi
sudo vim /etc/ssh/sshd_config
Tocca il tasto i
sulla tastiera e modifica le righe, indicate di seguito:
[...] PasswordAuthentication no [...] UsePAM no [...]
Per salvare, tocca i seguenti tasti sulla tastiera (in questo ordine): Esc
, :
, w
, q
, Invio
. Adesso ricarica
sudo reload ssh
Risorse addizionali
- Come configurare le chiavi SSH | Oceano Digitale;
- Come proteggere SSH con fail2ban su Ubuntu 12.04 | Oceano Digitale;
- Come proteggere SSH con l'autenticazione a due fattori | Oceano Digitale;
- Come copiare file con Rsync su SSH | Oceano Digitale;
- Crittografia a chiave pubblica | Wikipedia;
- Domande frequenti su PuTTY | Simon Tatham.
Come sempre, se hai bisogno di aiuto con i passaggi di questo HowTo, cerca assistenza nella community di DigitalOcean ponendo le tue domande qui sotto.