Automatizzare l'accesso SSH senza password

Automatizzare l'accesso SSH senza password
Se si desidera eseguire attività su una macchina remota utilizzando SSH, è necessario abilitare gli accessi automatici SSH per eliminare la necessità di inserire una password in ogni istanza. Questo può essere incredibilmente utile se stai chiamando SSH da un comando shell.

In questo tutorial, imparerai come implementare l'accesso SSH senza password in tre semplici passaggi.

Cos'è ssh?

Secure Shell, comunemente noto come SSH, è un protocollo di rete utilizzato per connessioni sicure tra un client e un server remoto. È un servizio crittografico che consente agli utenti di accedere e gestire le macchine in remoto. Per impostazione predefinita, utilizza un nome utente e un'autenticazione password.

Come abilitare l'accesso senza password SSH

La configurazione di un accesso SSH senza password automatizzato in Linux è molto semplice. Tutto ciò che serve è generare una chiave pubblica e copiarla nell'host remoto.

I passaggi forniti di seguito descrivono il processo di creazione e copia della chiave pubblica all'host remoto.

Passo 1. Generare una nuova chiave SSH

Per generare una nuova coppia di tasti SSH, utilizzare il comando fornito di seguito:

ssh-keygen

Ciò genererà in modo interattivo una chiave pubblica e privata che puoi utilizzare per autenticare SSH.

L'output sarà simile a quello mostrato di seguito:

[Centos@centos8 ~] $ ssh-keygen
Generazione della coppia di chiavi RSA pubblica/privata.
Immettere il file in cui salvare la chiave (/home/centos/.SSH/ID_RSA):
Immettere passphrase (vuoto per nessuna passphrase):
Inserisci di nuovo la stessa passphrase:
La tua identificazione è stata salvata in ID_RSA.
La tua chiave pubblica è stata salvata in ID_RSA.pub.
L'impronta digitale chiave è:
Sha256: gkjd1befh00o4tp2xd7vpbibjabc7cjzsgxjdlxgcss [email protected]
L'immagine casuale della chiave è:
+---[RSA 3072]----+
| o+b.+o+o .|
| . o.= ob o.o ... o |
| +o.ob = x + o |
| . o =+o* o . + |
|… +E s + . |
|… |
| |
| |
| |
+----[Sha256]-----+
[Centos@centos8 ~] $

NOTA: È possibile creare una coppia di tasti SSH senza una passphrase premendo Invio durante il processo di creazione.

Se stai cercando la massima sicurezza, assicurati di impostare una passphrase. Per gli accessi automatizzati, salta semplicemente la passphrase.

Passo 2. Verifica la chiave SSH

Per verificare che la coppia di chiavi SSH abbia generato correttamente, è possibile elencare i file in ~/.directory ssh come mostrato:

$ ls -la ~/.ssh

Questo elencherà la chiave privata e pubblica come mostrato:

drwx------. 2 centos centos 38 maggio 17 01:14 .
drwx------. 17 Centos Centos 4096 17 maggio 01: 14 ..
-RW-------. 1 centos centos 2635 17 maggio 01:14 ID_RSA
-RW-R-R--. 1 CentOS CentOS 588 17 maggio 01:14 ID_RSA.pub

Passaggio 3. Copia la chiave pubblica per host remoto

Con la coppia di tasti SSH a portata di mano, dobbiamo copiarla nell'host remoto. Pertanto, accedere senza password.

Il modo più semplice per copiare la tua chiave pubblica sull'host remoto è utilizzare il comando ssh-copy-id come:

SSH-Copy-ID Nome utente@remote_ip_address

Ciò autenticherà il nome utente impostato e aggiungerà la chiave pubblica al file autorizzato_keys nell'host remoto.

Una volta caricata la chiave, è possibile accedere all'host remoto usando il comando:

nome utente ssh@remote_host

Questo accederà automaticamente senza richiedere una password.

NOTA: Assicurati di avere la tua coppia di chiavi private per accedere correttamente.

Conclusione

Questo tutorial ha mostrato come impostare un accesso senza password SSH utilizzando le coppie di chiavi. Ciò consente di automatizzare le attività e gestire più host remoti.