Al momento stai visualizzando Come si genera una chiave SSH

Come si genera una chiave SSH

  • Autore dell'articolo:
  • Categoria dell'articolo:Guide

In questa guida vedremo di capire come generare le chiavi per accedere a SSH.

Nota. SSH è un protocollo di comunicazione (terminale) relativamente giovane: a differenza della mail che esisteva già  negli anni 70, SSH è stato introdotto a metà  degli anni 90 dal finlandese Tatu Ylà¶nen, costretto a fronteggiare una falla di sicurezza informatica ed ideatore del sistema a riga di comando remota (cioè posso inviare ed eseguire comandi su una macchina che è connessa ad internet col mio client, ovviamente a certe condizioni) usato ancora oggi.

E non fatevi prendere dallo scoraggiamento, soprattutto: la maggioranza delle guide su SSH non sono scritte, purtroppo, in modo molto chiaro. Lo dicono nel modo più bonario possibile, perchè evidentemente sono pensate per specialisti e anch’io, da specialista, a volte fatico a capirci qualcosa.

L’accesso ad SSH in molti casi, di fatto, scoraggia moltissimi operativi: non fosse altro che la storia delle chiavi pubbliche e private non è proprio per tutti. Ma nello scenario moderno, in effetti, molti addetti ai lavori non sono per forza di cose informatici: quindi è importante che uno sappia come funziona SSH e riesca a generare le chiavi per accedere. USare le chiavi SSH è una buona alternativa, a ben vedere, all’uso di username e password: e se n’è accorto per primo il buon Tatu che si è inventato un modo per accedere alle funzionalità  di qualsiasi dispositivo Linux sfruttando uno dei principi base della crittografia: le chiavi pubbliche e le chiavi private.

Immaginatela in questi termini: siete un webmaster che desidera connettersi al proprio sito web (ad esempio perchà©, come diciamo scherzosamente in gergo, l’avemo sderenato), ad esempio per riavviare il server, leggere il log o magari per fare modifiche al volo perchè non abbiamo avuto il tempo di configurare il buon FTP. Avete un problemone, pero’: per accedere dovrete procurarvi una chiave pubblica (che rappresenta un po’ la vostra carta d’identità ) e soprattutto una chiave privata, una sorta di superpassword che non sia univoca, soprattutto: bisogna fare in modo che quella password funzioni solo col vostro bellissimo computer. SSH pensa a tutto questo e risponde: “sà¬, potete farlo”!

Aprire il terminale di comando

Come prima cosa accedete al terminale di comando (da Mac e Linux) oppure, se preferite, andate su PuTTY. Procutevi i dati di accesso alla VPS e soprattutto la username (che di solito è root) e l’IP del server. Il primo passo da eseguire è subito detto: vi serve generare la coppia di chiavi, la chiave pubblica e la chiave privata. Come fare? Digitate nel terminale di comando (siete ancora in locale nel vostro computer, non vi siete connessi ad SSH):

ssh-keygen

In risposta a ssh-keygen vedrete qualcosa del genere:

Generating public/private rsa key pair.
Enter file in which to save the key (/home/.ssh/id_rsa):

Questo comando genera una coppia di chiavi pubblica e privata, generalmente a 2048 bit (che va bene per la maggiorparte dei casi pratici, almeno ad oggi). Vuol dire che la chiave sarà  detta chiave RSA a 2048 bit ed è davvero molto, molto sicuro accedere ad un sistema remoto generandone una (molto più di quanto non sia fare uso di una password, per quanto complessa ed imprevedibile possa essere.

Cosa rispondere a quella richiesta di input? In genere basta premere invio e confermare il salvataggio della chiave dentro il path indicato (/home/.ssh/id_rsa). Vedrete una cosa del genere:

Enter passphrase (empty for no passphrase):

A questo punto dovreste specificare la password personale, che dovrete scegliere voi e che andrà  digitata seguita dal tasto invio. Attenzione che questa password dovrete memorizzarla, perchè non la vedrete mentre la digitate e non sarà  copia-incollabile da nessuna parte (sarà  comunque richiesta conferma una seconda volta). Se non è la prima volta che fate questo discorso, la chiave potrebbe voler essere sovrascritta, come avviene se vedete una cosa del genere:
/home/home/.ssh/id_rsa already exists.
Overwrite (y/n)?

Attenzione: qui il passo è importante. Se sovrascrivete qualsiasi connessione precedentemente impostata sarà  invalidata. La chiave attuale sovrascriverà  quella precedente, e sarà  persa per sempre. Se scegli sà¬, devi confermare la tua passphrase o password di prima:

Enter passphrase (empty for no passphrase):

Se non vuoi complicarti la vita (e non ci tieni troppo alla sicurezza) basta premere direttamente invio. Adesso avviene la vera e propria magia, in effetti:

Your identification has been saved in /home/.ssh/id_rsa.
Your public key has been saved in /home/.ssh/id_rsa.pub.
The key fingerprint is:
[...] username@server
The key's randomart image is:
+--[ RSA 2048]----+
|     ..o         |
|   M o= .        |
|    o. P         |
|        *.       |
|      ..L        |
|     L -.        |
|   =F.*.         |
|. =++..          |
|o=++.            |
+-----------------+

Come distinguere chiave privata da chiave pubblica come file

In pratica è stata creata una chiave privata (che non avrà  alcuna estensione):

/home/pippo/.ssh/id_rsa 

e una chiave pubblica che avrà  estensione .pub:

/home/pippo/.ssh/id_rsa.pub

Installare la chiave pubblica sul server (terminale)

Adesso non ci resta che copiare la chiave pubblica

id_rsa.pub

sul server in modo da poter utilizzare l’autenticazione basata su chiave SSH per accedere.

A livello di terminale la cosa si effettua grazie al comando

ssh-add

Per la sua semplicità , questo metodo è altamente raccomandato se disponibile. Se non disponi di ssh-copy-id sul tuo computer client, puoi utilizzare uno dei due metodi alternativi forniti in questa sezione (copia tramite SSH basato o copia manuale della chiave).  La chiave privata deve essere caricata nel terminale di comando utilizzando il comando ssh-add:

ssh-add /home/youruser/.ssh/id_rsa

Installare la chiave pubblica sul server (cPanel)

In questo caso il processo è abbastanza simile all’installazione di certificati SSL che abbiamo visto nel tutorial sull’installazione di Let’s Encrypt su cPanel. Per installare la chiave pubblica su un servizio di hosting, ad esempio, non devi fare altro se non caricare la chiave pubblica nel cPanel, sotto SSH/Shell Access. Sui cPanel moderni si può semplicemente copia-incollare all’nterno del cPanel nella sezione Public Key, dopo aver aperto il file id_rsa con un qualsiasi editor di testo. La chiave inserita farà  parte delle chiave autorizzate (authorized keys) e vi darà  il via libera per accedere.

👇 Contenuti da non perdere 👇



Trovalost.it esiste da 4694 giorni (13 anni), e contiene ad oggi 4356 articoli (circa 3.484.800 parole in tutto) e 23 servizi online gratuiti. – Leggi un altro articolo a caso

Numero di visualizzazioni (dal 21 agosto 2024): 27
Pubblicità - Continua a leggere sotto :-)
Segui il canale ufficiale Telegram @trovalost https://t.me/trovalost
Seguici su Telegram: @trovalost

Trovalost.it

Ho creato Trovalost.it e ho scritto quasi tutti i suoi contenuti relativi all'informatica. Credits immagini: pexels.com, pixabay.com, wikipedia.org, Midjourney, StarryAI, se non diversamente specificato.