Ricerca nel sito web

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:

  1. Avvia l'utility PuTTYgen, facendo doppio clic sul suo file .exe;
  2. Per Tipo di chiave da generare, seleziona RSA;
  3. 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);
  4. Fai clic sul pulsante Genera;
  5. 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;
  6. Ora è stata generata una coppia di chiavi privata/pubblica;
  7. 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;
  8. 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);
  9. 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);
  10. 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!);
  11. 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;
  12. 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.

  1. Log in to your destination server; see How to Log Into Your Droplet with PuTTY (for windows users)
  2. If your SSH folder does not yet exist, create it manually:
  3. mkdir ~/.ssh
    chmod 0700 ~/.ssh
    touch ~/.ssh/authorized_keys
    chmod 0644 ~/.ssh/authorized_keys
  4. Paste the SSH public key into your ~/.ssh/authorized_keys file (see Installing and Using the Vim Text Editor on an Cloud Server):
  5. sudo vim ~/.ssh/authorized_keys
  6. Tap the i key on your keyboard & right-click your mouse to paste.
  7. To save, tap the following keys on your keyboard (in this order): Esc, :, w, q, Enter.

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.

  1. Avvia PuTTY facendo doppio clic sul suo file eseguibile;
  2. La finestra iniziale di PuTTY è la categoria Sessione (naviga tra le varie categorie di PuTTY, lungo il lato sinistro della finestra);
  3. 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
  4. 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
  5. Seleziona SSH sotto Protocollo;
  6. Lungo il lato sinistro della finestra, seleziona la sottocategoria Dati, sotto Connessione;
  7. Specifica il nome utente che intendi utilizzare quando accedi al server SSH e il cui profilo stai salvando nel campo Nome utente accesso automatico;
  8. Espandi la sottocategoria SSH, sotto Connessione;
  9. Evidenzia la sottocategoria Auth e fai clic sul pulsante Sfoglia, sul lato destro della finestra di PuTTY;
  10. Sfoglia il tuo file system e seleziona la tua chiave privata creata in precedenza;
  11. 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;
  12. 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.