GNU/Linux >> Linux Esercitazione >  >> Linux

Nozioni di base su Linux:come creare e installare chiavi SSH sulla shell

Le chiavi SSH offrono un modo altamente sicuro di accedere a un server con SSH rispetto alla semplice dipendenza da una password. Mentre una password rischia di essere finalmente decifrata, le chiavi SSH sono piuttosto impossibili da decifrare usando la forza bruta. In effetti, la generazione di una coppia di chiavi offre agli utenti due lunghe stringhe di caratteri corrispondenti a una chiave pubblica ea una chiave privata. Gli utenti possono quindi posizionare la chiave pubblica su qualsiasi server e, successivamente, sbloccarla collegandosi ad essa con un client che già possiede la chiave privata. Dopo aver abbinato le due chiavi, il sistema si sblocca senza alcuna fastidiosa dipendenza da una password. La sicurezza può essere ulteriormente protetta da un firewall intelligente proteggendo la chiave privata con una passphrase.

Installazione di chiavi SSH su Linux:una guida passo passo

Di seguito è illustrata una guida dettagliata che descrive in dettaglio il processo di installazione delle chiavi SSH su un server Linux:

Fase uno:creazione della coppia di chiavi RSA

Il primo passo nel processo di installazione consiste nel creare la coppia di chiavi sulla macchina client, che sarebbe, il più delle volte, il tuo sistema. Gli utenti devono utilizzare il seguente comando:

ssh-keygen -o -b 4096 -t rsa

Il comando precedente avvia il processo di installazione della chiave SSH per gli utenti. L'opzione -o indica a ssh-keygen di archiviare la chiave privata nel nuovo formato OpenSSH anziché nel vecchio (e più compatibile formato PEM). Si consiglia vivamente di utilizzare l'opzione -o poiché il nuovo formato OpenSSH ha una maggiore resistenza al cracking delle password con forza bruta. Nel caso in cui l'opzione -o non funzioni sul tuo server (è stata introdotta nel 2014) o hai bisogno di una chiave privata nel vecchio formato PEM, usa il comando 'ssh-keygen -b 4096 -t rsa '.

L'opzione -b del comando ssh-keygen viene utilizzata per impostare la lunghezza della chiave su 4096 bit anziché 1024 bit predefinito per motivi di sicurezza.

Dopo aver immesso il comando Gen Key principale, gli utenti devono eseguire il seguente esercizio rispondendo alle seguenti richieste:

Enter the file where you wish to save the key (/home/demo/.ssh/id_rsa)

Gli utenti devono premere INVIO per salvare il file nella home dell'utente

Il prompt successivo sarebbe il seguente:

Enter passphrase

Se, in qualità di amministratore, desideri assegnare la passphrase, puoi farlo quando richiesto (come per la domanda precedente), sebbene ciò sia facoltativo, e puoi lasciare il campo vuoto nel caso in cui non desideri assegnare una passphrase.

Tuttavia, è pertinente notare che la digitazione di una passphrase univoca offre una serie di vantaggi elencati di seguito:

1. La sicurezza di una chiave, anche se altamente crittografata, dipende in gran parte dalla sua invisibilità a qualsiasi altra parte. I 2. Nel probabile caso in cui una chiave privata protetta da passphrase cada in custodia di un utente non autorizzato, questi non saranno in grado di accedere ai suoi account alleati finché non riusciranno a decifrare la passphrase. Ciò fornisce invariabilmente alla vittima (l'utente hackerato) tempo extra prezioso per evitare l'offerta di hacking. Sul lato negativo, l'assegnazione di una passphrase alla chiave richiede di digitarla ogni volta che si utilizza la coppia di chiavi, il che rende il processo un po' complicato noioso, tuttavia assolutamente a prova di errore.

Ecco uno schema generale del processo di generazione delle chiavi end-to-end:

La chiave pubblica può ora essere ricondotta al collegamento ~/.ssh/id_rsa.pub

La chiave privata (identificazione) può ora essere ricondotta al link-/home/demo/.ssh/id_rsa 3

Fase due:copia della chiave pubblica

Una volta generata la coppia di chiavi distinta, il passaggio successivo resta quello di posizionare la chiave pubblica sul server virtuale che intendiamo utilizzare. Gli utenti sarebbero in grado di copiare la chiave pubblica nel file authorized_keys della nuova macchina utilizzando il comando ssh-copy-id. Di seguito è riportato il formato prescritto (rigorosamente un esempio) per la digitazione del nome utente e dell'indirizzo IP e deve essere sostituito con i valori di sistema effettivi:

ssh-copy-id [email protected]

In alternativa, gli utenti possono incollare le chiavi utilizzando SSH (come da comando dato):

cat ~/.ssh/id_rsa.pub | ssh [email protected] "cat >> ~/.ssh/authorized_keys"

Uno dei comandi precedenti, se utilizzato, lancerà il seguente messaggio sul tuo sistema:

Non è possibile stabilire l'autenticità dell'host '192.168.0.100'. L'impronta digitale della chiave RSA è b1:2d:32:67:ce:35:4d:5f:13:a8:cd:c0:c4:48:86:12. Sei sicuro di voler continuare a connetterti (sì/no)? yes Avviso:aggiunto in modo permanente '192.168.0.100' (RSA) all'elenco degli host conosciuti. Password di [email protected]:ora prova ad accedere alla macchina, con "ssh '[email protected]'", e controlla:~/.ssh/authorized_keys per assicurarti che non abbiamo aggiunto chiavi extra che eri tu' Non mi aspetto.

Dopo l'esercitazione sopra, gli utenti sono pronti per andare avanti e accedere a [email protetta] senza che venga richiesta una password. Tuttavia, se hai precedentemente assegnato una passphrase alla chiave (come per il passaggio 2 sopra), ti verrà chiesto di inserire la passphrase a questo punto (e ogni volta per gli accessi successivi).

Passaggio tre (questo passaggio è facoltativo):disabilitazione della password per facilitare l'accesso come root

Dopo che gli utenti hanno copiato le loro chiavi SSH sul tuo server e si sono assicurati l'accesso senza interruzioni solo con le chiavi SSH, hanno la possibilità di limitare l'accesso di root e consentire lo stesso solo tramite le chiavi SSH. A tal fine, gli utenti devono accedere al file di configurazione SSH utilizzando il comando seguente:

sudo nano /etc/ssh/sshd_config

Una volta eseguito l'accesso al file, gli utenti devono trovare la riga all'interno del file che include PermitRootLogin e modificare lo stesso per garantire una connessione infallibile utilizzando la chiave SSH. Il seguente comando ti aiuterà a farlo:

PermitRootLogin without-password

L'ultimo passaggio del processo resta quello di implementare le modifiche utilizzando il comando seguente:

reload ssh

Quanto sopra completa il processo di installazione delle chiavi SSH sul server Linux.

Conversione della chiave privata OpenSSH nel nuovo formato

La maggior parte delle chiavi OpenSSH meno recenti sono archiviate nel formato PEM. Sebbene questo formato sia compatibile con molte applicazioni precedenti, presenta lo svantaggio che la password di una chiave privata protetta da password può essere attaccata con attacchi di forza bruta. Questo capitolo spiega come convertire una chiave privata in formato PEM in una nel nuovo formato OpenSSH.

ssh-keygen -p -o -f /root/.ssh/id_rsa

Il percorso /root/.ssh/id_rsa è il percorso del vecchio file della chiave privata.

Conclusione

I passaggi precedenti ti aiuteranno a installare le chiavi SSH su qualsiasi server privato virtuale in modo completamente sicuro, protetto e senza problemi.


Linux
  1. Nozioni di base su Linux:come scaricare file sulla shell con Wget

  2. Come impostare/creare variabili di ambiente e shell in Linux

  3. Come impostare le chiavi SSH

  4. Come installare e configurare il client Putty SSH su desktop Linux

  5. Come installare e utilizzare il comando Ping in Linux

Come installare Mosh Shell come alternativa SSH su Linux

Come installare e utilizzare Nu Shell su Linux

Come generare e utilizzare la chiave SSH nel sistema Linux?

Come installare Fish Shell su Ubuntu e Linux Mint

Come installare, configurare e abilitare il servizio SSH in Linux

Come installare Mosh Shell come alternativa SSH su desktop Linux