GNU/Linux >> Linux Esercitazione >  >> Linux

Come usare il comando ssh-keygen in Linux

Utilizzare il comando ssh-keygen per generare una coppia di chiavi di autenticazione pubblica/privata. Le chiavi di autenticazione consentono a un utente di connettersi a un sistema remoto senza fornire una password. Le chiavi devono essere generate separatamente per ciascun utente. Se generi coppie di chiavi come utente root, solo il root può usare le chiavi.

L'esempio seguente crea le parti pubbliche e private di una chiave RSA:

# ssh-keygen -t rsa
Generating public/private rsa key pair.
Enter file in which to save the key (/root/.ssh/id_rsa): 
Enter passphrase (empty for no passphrase): 
Enter same passphrase again: 
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:z6zTVQ/PJYt2o96DrVYClmfcqBG8Pdb8nzqY2m2HjeY root@geeklab
The key's randomart image is:
+---[RSA 2048]----+
|         .       |
|          o      |
|           * =   |
|          * O B .|
|        S. B + O.|
|         +. = = =|
|         .+ooB+.o|
|        ..oo=Bo+.|
|        .o.+*E=. |
+----[SHA256]-----+

Utilizzare l'opzione –t per specificare il tipo di chiave da creare. I valori possibili sono "rsa1 ” per il protocollo versione 1 e “dsa “, “ecdsa “, o “rsa ” per il protocollo versione 2.

Hai la possibilità di specificare una passphrase per crittografare la parte privata della chiave. Se si crittografa la chiave personale, è necessario fornire la passphrase ogni volta che si utilizza la chiave. Ciò impedisce a un utente malintenzionato, che ha accesso alla tua chiave privata e può impersonarti e accedere a tutti i computer a cui hai accesso, di poterlo fare. L'attaccante deve comunque fornire la passphrase.

Il comando ssh-key nell'esempio ha generato due chiavi nella directory ~/.ssh:

$ ls ~/.ssh
id_rsa
id_rsa.pub

Per accedere o copiare file su un sistema remoto senza fornire una password, copiare la chiave pubblica (~/.ssh/id_rsa.pub in questo esempio) in ~/.ssh/authorized_keys sul sistema remoto. Imposta il telecomando ~/.ssh autorizzazioni di directory a 700 . È quindi possibile utilizzare gli strumenti ssh o scp per accedere al sistema remoto senza fornire una password.

Per consentire connessioni multiple, aggiungi la chiave pubblica al file authorized_keys sul sistema remoto invece di copiarlo. L'esempio seguente aggiunge la chiave pubblica:

$ cat id_rsa.pub >> authorized_keys

È possibile migliorare ulteriormente la sicurezza del sistema disabilitando l'autenticazione tramite password standard e applicando l'autenticazione basata su chiave. Per farlo, imposta l'opzione PasswordAuthentication su no in /etc/ssh/sshd_config file di configurazione come segue:

# vi /etc/ssh/sshd_config
PasswordAuthentication no

Ciò non consente agli utenti le cui chiavi non sono nelle chiavi_autorizzate file dell'utente specifico sul server a cui connettersi tramite ssh. La connessione viene negata e viene visualizzato il seguente messaggio:

$ ssh host01
Permission denied (publickey,gssapi-keyex,gssapi-with-mic).

L'impostazione dell'opzione PasswordAuthentication su yes, che è l'impostazione predefinita, consente a un utente di utilizzare una password per l'autenticazione.


Linux
  1. Come usare il comando sed di Linux

  2. Come usare il comando Linux grep

  3. Come usare il comando cronologia in Linux

  4. Come utilizzare il comando id in Linux

  5. Come utilizzare il comando "schermo" in Linux

Come utilizzare il comando Ping di Linux

Come utilizzare il comando fd sul sistema Linux

Come utilizzare il comando wget in Linux?

Come usare il comando xargs in Linux?

Come utilizzare il comando RPM in Linux

Come utilizzare il comando which in Linux