GNU/Linux >> Linux Esercitazione >  >> Linux

Come generare e utilizzare la chiave SSH nel sistema Linux?

Oggi daremo una breve descrizione su come generare e utilizzare la chiave SSH nel sistema Linux.

Come si genera la chiave SSH su un sistema Linux?

Una chiave SSH è una credenziale di accesso per il protocollo di rete SSH (secure shell). Questo protocollo di rete sicura di autenticazione e crittografia viene utilizzato per la comunicazione remota tra macchine su una rete aperta non protetta.

In altre parole, possiamo dire che una chiave SSH è una credenziale di accesso sicura utilizzata nella shell sicura ( protocollo SSH). Le chiavi SSH utilizzano coppie di chiavi basate sulla tecnologia dell'infrastruttura a chiave pubblica, il gold standard per l'autenticazione e la crittografia dell'identità digitale, per fornire un metodo di autenticazione sicuro e scalabile.

Come funziona l'autenticazione utilizzando una coppia di chiavi SSH?

La coppia di chiavi SSH viene utilizzata per autenticare l'identità di un utente o di un processo che desidera accedere a un sistema remoto utilizzando il protocollo SSH. La chiave pubblica SSH viene utilizzata sia dall'utente che dal server remoto e viene utilizzata per crittografare i messaggi.

Sul lato server remoto, la chiave pubblica viene salvata in un file che contiene un elenco di tutti i chiavi pubbliche. Da parte dell'utente, la chiave pubblica è memorizzata nel software di gestione delle chiavi SSH o in un file sul suo computer. La chiave privata rimane solo sul sistema utilizzato per accedere al server remoto e viene utilizzata per decrittografare i messaggi.

Quando un utente o un processo richiede una connessione al server remoto utilizzando il client SSH, una sfida- viene avviata la sequenza di risposta per completare l'autenticazione. Il server SSH riconosce che è stata richiesta una connessione e invia una richiesta di verifica crittografata utilizzando le informazioni sulla chiave pubblica condivisa.

Il client SSH quindi decrittografa il messaggio di verifica e risponde al server SSH. L'utente o il processo deve rispondere correttamente alla richiesta di accesso. Questa sequenza challenge-response avviene automaticamente tra il client SSH e il server SSH senza alcuna azione manuale da parte dell'utente.

In questa guida, ci concentreremo sull'impostazione della chiave SSH per il sistema Ubuntu. Puoi utilizzare questi passaggi per configurare la chiave SSH in tutti gli ambienti Linux. Le chiavi SSH forniscono un modo semplice e sicuro per accedere al tuo server e sono consigliate a tutti gli utenti.

Passaggi 1:crea le coppie di chiavi RSA

Il primo passaggio consiste nel creare le coppie di chiavi nel sistema locale.





Per impostazione predefinita, ssh-keygen genera una coppia di chiavi RSA a 2048 bit. È possibile opzionalmente passare i flag -b 4096 per creare una chiave bit RSA più grande. Dopo aver inserito il comando ssh-keygen, dovresti vedere la schermata seguente.



Premi INVIO per salvare le coppie di chiavi in ​​.ssh/ sottodirectory nella directory home o specificare un percorso alternativo. Se hai generato la chiave SSH in precedenza, potresti visualizzare la schermata seguente.





Se scegli di sovrascrivere la chiave esistente sul server, non sarai più in grado di autenticarti utilizzando la chiave precedente. Fare molta attenzione quando si seleziona Sì, poiché questo processo non può essere annullato. Dopo questo, vedrai la schermata qui sotto.



Qui, facoltativamente, puoi inserire una passphrase sicura, altamente raccomandato. Una passphrase è simile a una password. Tuttavia, una password si riferisce generalmente a qualcosa utilizzato per autenticarsi o accedere a un sistema. Una password si riferisce generalmente a un segreto utilizzato per proteggere una chiave di crittografia.

Una chiave di crittografia viene derivata dalla passphrase e utilizzata per crittografare le risorse protette. Una passphrase aggiunge un ulteriore livello di sicurezza per impedire l'accesso di utenti non autorizzati. Dopodiché, vedrai la seguente schermata.





Ora avrai una chiave pubblica e una privata che potrai utilizzare per l'autenticazione. Il passaggio successivo consiste nel posizionare la chiave pubblica sul server in modo da poter utilizzare l'autenticazione basata su chiave SSH per accedere.

Passaggio:2 Copia la chiave pubblica sul server CentOS

Il modo più semplice per copiare la chiave pubblica sul server è utilizzare il comando ssh-copy-id. Il comando sopra è altamente raccomandato per la sua semplicità. Copia la chiave SSH usando il comando ssh-copy-id. Usando il comando ssh-copy-id dovrai specificare il nome utente e l'indirizzo IP/server host su cui vuoi incollare la chiave SSH.

esempio ssh-copy-id@ unixlinux.online/server host
Ad esempio # ssh-copy-id [email protected] (192.168.2.152 è il nostro indirizzo IP interno che abbiamo utilizzato per eseguire i passaggi nell'articolo. Sostituisci questo indirizzo IP con il tuo indirizzo IP effettivo.)



Dopodiché, potresti visualizzare la schermata seguente.





Qui dovrai inserire la password dell'host remoto su cui vuoi incollare la chiave SSH e premere "INVIO". Dopo aver premuto "INVIO", si collegherà all'host remoto e copierà il contenuto della tua chiave ~/.ssh/id_rsa.pub in un file nella directory home ~/.ssh dell'account remoto chiamato authorized_keys. Potresti vedere la schermata qui sotto.



Ora, la tua chiave id_rsa.pub è stata caricata sull'account remoto.

Passaggio 3:autenticati sul tuo server Ubuntu utilizzando le chiavi SSH

Se hai completato la procedura, dovresti essere in grado di accedere all'host remoto senza la password dell'account remoto. Immettere il seguente comando nel terminale per accedere al server remoto senza la password dell'account remoto.

# ssh [email protected]_address_of_remote_server
Ad esempio # ssh [email protected]





Dopo aver premuto "INVIO" verrai connesso all'host remoto.

Passaggio 4:disabilita l'autenticazione tramite password sul tuo server

Se hai eseguito correttamente l'accesso al server, significa che hai configurato correttamente l'autenticazione basata su chiave SSH. Tuttavia, l'autenticazione basata su password è ancora attiva sul server. Ciò significa che il tuo server è ancora esposto ad attacchi di forza bruta.

Per prevenire attacchi di forza bruta, devi disabilitare l'autenticazione della password sul tuo server. Per questo, assicurati che il tuo account disponga dei privilegi di amministratore (root). Innanzitutto, accedi al server su cui hai configurato l'autenticazione basata su chiave SSH.

Per disabilitare l'autenticazione basata su password, dovrai utilizzare il comando seguente.

# sudo vi/etc/ssh/ssg_config





All'interno del file cercare la seguente riga PasswordAuthentication. Premi "Io ” per inserire il testo e modificare la riga e impostare il valore “NO ”. Ciò disabiliterà la tua capacità di accedere tramite SSH utilizzando le password dell'account.



Una volta completata la procedura sopra, premere “Esc ” e digita “:wq ” e premi invio.



Per implementare effettivamente queste modifiche dovrai riavviare il servizio sshd utilizzando il sotto il comando.

# sudo systemctl restart sshd.service



Questo è tutto.






Linux
  1. Come generare una chiave SSH in Windows 10

  2. Come installare e utilizzare lo schermo Linux?

  3. Come configurare la chiave pubblica e privata SSH in Linux

  4. Come usare i comandi strace e ltrace in Linux

  5. Come installare e utilizzare Sguardi per monitorare i sistemi Linux

Come installare e utilizzare Skype su sistema Linux. Ora è più facile

Come installare e utilizzare il compilatore GCC su sistema Linux

Come montare e utilizzare un'unità exFAT su un sistema Linux

Come installare e utilizzare Tmux (Terminal Multiplexer) nel sistema Linux

Come installare e utilizzare AsciiDoc nel sistema Linux

Come installare e utilizzare l'emulatore di terminale Konsole nel sistema Linux