Seleziona Pagina

Assistenza informatica otts
widget-pubblicita-sicurezza-informatica-otts
Chiave SSH

Come generare una chiave SSH

da | 17 Mar 2020 | Guide, Sicurezza

Cosa significa accesso tramite SSH

SSH (Secure SHell) è un protocollo che permette di stabilire una sessione remota cifrata tramite interfaccia a riga di comando con un altro host (tipicamente server) e che permetta facilmente di gestire file e directory o modificarne i permessi.

 

Cos’e’ una chiave SSH

La chiave SSH è un tipo di autenticazione basata su chiavi, utilizzata per l’accesso tramite SSH. E’ molto utilizzata in quanto è un metodo di accesso più sicuro rispetto all’autenticazione utente/password. La procedura prevede la generazione di una coppia di file; una chiave privata e una pubblica. La chiave pubblica verrà installata sull’ host a cui ci si dovrà collegare mentre la chiave privata è la chiave che ci permette il collegamento.

 

Creazione chiavi

Per prima cosa è necessario generare le chiavi. E’ possibile farlo con qualsiasi distribuzione Linux o anche direttamente su un host a cui ci collegheremo tramite chiavi.

Iniziamo la generazione aprendo un terminale ed eseguendo il comando ssh-keygen

ssh-keygen -t rsa

Ci verrà richiesto il nome e il percorso di destinazione dove verrà salvata la nostra coppia di chiavi (di default: /nomeutente/.ssh/id_rsa); inseriamolo o premiamo Invio

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

Come ulteriore livello di sicurezza, ci verrà richiesta una password che si dovrà inserire ogni volta per poter accedere tramite chiave privata; inseriamola due volte (per conferma) o altrimenti premiamo due volte Invio per evitarla e passare allo step successivo

Enter passphrase (empty for no passphrase):

Enter same passphrase again:

Al termine della procedura le nostre chiavi sono state create

Your identification has been saved in /root/.ssh/id_rsa.
Your public key has been saved in /root/.ssh/id_rsa.pub.
The key fingerprint is:
SHA256:pznddwK+QCdzjWBEGQdn/lCXt1lY37TGWDjnnJuCiEg root@internautablog
The key’s randomart image is:
+—[RSA 2048]—-+
| .=++ o+=|
| ..= +==*|
| o o.=+O|
| E . . =.* |
| . . S * * o o|
| . . B O o o |
| + o o + .|
| . . o o |
| . |
+—-[SHA256]—–+

Infatti nel percorso scelto (nel mio caso /root/.ssh/) saranno presenti due files id_rsa e id_rsa.pub

[root@internautablog .ssh]# ll
total 8
-rw——- 1 root root 1679 Mar 17 16:25 id_rsa
-rw-r–r– 1 root root 401 Mar 17 16:25 id_rsa.pub

 

Configurazione host a cui collegarsi

Ora vedremo come configurare l’host di destinazione su cui ci colleghermo tramite chiavi. Per questa procedura è necessario avere il file id_rsa.pub a portata di mano

Apriamo un terminale sull’host selezionato

Andiamo nella directory /utente/.ssh (nel mio caso /root/.ssh)

cd /root/.ssh

Se non dovesse esistere, creiamo il file authorized_keys

vi authorized_keys

Apriamo o stampiamo parallelamente con un’editor il file id_rsa.pub creato precedentemente; il contenuto sarà del tipo

[root@internautablog .ssh]# cat id_rsa.pub
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCkW9MoGcfVjUeNzaMxc6etaOX+3qE4+k1wY15E6J5454V21wLrYgkIZnJn6VdPEKKGYLXBieGrvK6fkwIRTdOFyKX7zqtKmkaPbdDafPTq/9QHLFaPMJuhrvBiVHIRCuvM1w/CpS5VTXb7uaJet5WSkyv7rzOeNz6vuL9s1Upwl2mR08PtyEEJtiVpuSH9mlIhYKPMKzX7nhvjoIZnbVh1cmXs7SmpcJ0HERYqt6PFxGk68wOo7sjXtCwNmpwCyuPvYAOTakmq/PW4YOakG/df30oVJXv3rHbDHiRXLn3ILfeC1fe0doxg4YDxXDDFynPv4IckvMXOnwjW/gBSXDdt root@internautablog.it

Ora non ci resta che copiare questo testo all’interno del file authorized_keys

Premiamo il tasto i per abilitare l’immissione del testo e incolliamo.

ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCkW9MoGcfVjUeNzaMxc6etaOX+3qE4+k1wY15E6J5454V21wLrYgkIZnJn6VdPEKKGYLXBieGrvK6fkwIRTdOFyKX7zqtKmkaPbdDafPTq/9QHLFaPMJuhrvBiVHIRCuvM1w/CpS5VTXb7uaJet5WSkyv7rzOeNz6vuL9s1Upwl2mR08PtyEEJtiVpuSH9mlIhYKPMKzX7nhvjoIZnbVh1cmXs7SmpcJ0HERYqt6PFxGk68wOo7sjXtCwNmpwCyuPvYAOTakmq/PW4YOakG/df30oVJXv3rHbDHiRXLn3ILfeC1fe0doxg4YDxXDDFynPv4IckvMXOnwjW/gBSXDdt root@internautablog.it

~
~

— INSERT —

Salviamo e chiudiamo il file premendo il tasto ESC e, in seguito, :x!

Ora il file authorized_keys contiene la nostra chiave pubblica

 

Test di connessione

Proviamo ora a collegarci tramite la chiave privata;

Apriamo un terminale ed effettuiamo la connessione (se avessimo inserito una password durante la creazione delle chiavi, dovrete inserirla quando richiesto)

ssh -i percorsoChiavePrivata root@host

Se tutto è stato configurato correttamente ci troveremo davanti alla riga di comando

[root@internautablog ~]#

 

Abilitare l’accesso solo tramite chiavi

Una volta testata la corretta configurazione e connessione tramite chiavi, è consigliato di disattivare la possibilità di autenticazione tramite utente/password e permettere l’accesso solo tramite chiavi.

Una volta connessi all’host di destinazione, è necessario modificare il file di configurazione dell’SSH

vi /etc/ssh/sshd_config

Cerchiamo la riga

PasswordAuthentication yes

e modifichiamola in

PasswordAuthentication no

Non ci resta che riavviare il servizio SSH con il comando

systemctl restart sshd.service

Se ora tentaste di collegarvi senza chiavi all’host di destinazione dovrestre riscontrare il seguente errore

No supported authentication methods available (server sent: publickey,gssapi-keyex,gssapi-with-mic)

Il che significa che l’accesso consentito all’host è solo tramite chiavi

 

Informazioni aggiuntive

Una peculiarità dell’autenticazione tramite chiavi è la possibilità di collegarsi ad host diversi utilizzando la stesse chiavi; ovvero, basta solo ripete la sezione “Configurazione host a cui collegarsi” per ogni host a cui vogliamo collegarci e potremmo farlo utilizzando la stessa chiave privata

Assistenza informatica otts
widget-pubblicita-sicurezza-informatica-otts

ARTICOLI CORRELATI

Unifi Dream Machine Pro come funziona?

Unifi Dream Machine Pro come funziona?

La Dream Machine Pro è un prodotto della linea UniFi di Ubiquiti Networks, un'azienda specializzata in dispositivi di networking e infrastrutture IT. La Dream Machine Pro è un dispositivo progettato per funzionare come un sistema di sicurezza e networking avanzato...

Smart TV LG Televideo, ecco come arrivarci

Smart TV LG Televideo, ecco come arrivarci

Nel susseguirsi delle nostre guide sulle Smart TV, oggi vi mostriamo come accedere ad una sezione un po' nascosta ma comunque utilizzata ancora moltissimo. Sto parlando del televideo; in questa guida specifica andremo a vedere nella Smart TV LG Televideo TV LG...

Collegare TV LG ad Alexa

Collegare TV LG ad Alexa

Quando acquisti un nuovo televisore, oltre che a godere della qualità delle immagini e del suono vuoi anche collegarla alla tua Smart Home; perfetto! In questa guida vedremo proprio come collegare TV LG ad Alexa in pochi semplici passi Requisiti per collegare TV LG ad...

Come togliere puntatore TV LG

Come togliere puntatore TV LG

Ormai da anni LG fornisce, insieme ai televisori, il buon rodato telecomando Magic Remote; telecomando ricco di funzionalità che aiuta a gestire meglio la propria Smart TV. Una di queste è la possibilità di utilizzarlo con un puntatore, similmente a come si utilizza...