GNU/Linux >> Linux Esercitazione >  >> Linux

Come utilizzare il comando ssh-keygen per configurare ssh senza password

Usa ssh-keygen comando 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.

Generazione di chiavi e configurazione di ssh senza password con il comando ssh-keygen

1. Usa -t opzione per specificare il tipo di chiave. Esempio:

# 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:
3a:b8:10:71:b7:ee:66:15:0f:a2:b0:89:ef:65:0b:f0 root@geeklab
The key's randomart image is:
+--[ RSA 2048]----+
|                 |
|                 |
|  . . .          |
|  .o ...o        |
|...+ ...S+       |
|.oo..o .. .      |
| .E + +.         |
|  .= +o.         |
| .. oo.          |
+-----------------+

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

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.

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

$ ls ~/.ssh
id_rsa
id_rsa.pub

4. Per accedere o copiare file su un sistema remoto senza fornire una password, copiare la chiave pubblica (~/.ssh/id_rsa.pub in questo esempio) su ~/.ssh/authorized_keys sul sistema remoto. Imposta le autorizzazioni della directory remota ~/.ssh su 700 . 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

5. È quindi possibile utilizzare gli strumenti ssh o scp per accedere al sistema remoto senza fornire una password.

Applicazione dell'autenticazione basata su chiave

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

# vi /etc/ssh/sshd_config
PasswordAuthentication no

2. Questo non consente 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 remote_host
Permission denied (publickey,gssapi-keyex,gssapi-with-mic).

3. Impostazione dell'Autenticazione password opzione per , che è l'impostazione predefinita, consente a un utente di utilizzare una password per l'autenticazione.


Linux
  1. Come usare il comando Linux grep

  2. Come usare il comando cronologia in Linux

  3. Come utilizzare il comando basename?

  4. Come utilizzare il comando id in Linux

  5. Come utilizzare il comando "schermo" in Linux

Come utilizzare il comando Ping di Linux

Come usare il comando nmap

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