Il programma ssh-agent è un agente di autenticazione che gestisce le password per le chiavi private SSH. Usa ssh-add per aggiungere le chiavi all'elenco gestito da ssh-agent. Dopo aver aggiunto una password per la chiave privata a ssh-agent, non è necessario inserirla ogni volta che ti connetti a un host remoto con la tua chiave pubblica.
Generazione di coppie di chiavi di autenticazione
Usa ssh-keygen comando per generare coppie di chiavi di autenticazione come descritto di seguito. Fornire una passphrase, ad esempio "password", durante la creazione delle coppie di chiavi.
# ssh-keygen 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:4lYqkqgXmhIxoyMdT+ZfGFCxeMUqTnXLjrRQKjbEC/U root@geeklab The key's randomart image is: +---[RSA 2048]----+ | o. .oo. | |. o...ooo | | o .E=o+ . | |+ * B.+ o | |.* @ +.*S | |=.o.+.++o | |o=o...+. | |= .. o. | |o. | +----[SHA256]-----+
Copia la chiave pubblica sull'host remoto
1. Copia la chiave pubblica in ~/.ssh/authorized_keys sul sistema remoto.
# ssh-copy-id -i ~/.ssh/id_rsa.pub [email protected]
2. Ora prova ad accedere alla macchina, con "ssh '[email protected]'", e controlla i .ssh/authorized_keys per assicurarci che non abbiamo aggiunto chiavi extra che non ti aspettavi.
$ ssh 192.168.12.10 Enter passphrase for key '/root/.ssh/id_rsa': Last login: Wed Apr 06 09:03:50 2014 from 192.168.12.20
Aggiungi la password della chiave privata a ssh-agent
1. Per aggiungere la password della chiave privata a ssh-agent, immettere il seguente comando:
# exec ssh-agent $SHELL
2. Il passaggio successivo consiste nell'utilizzare il comando ssh-add per aggiungere la chiave.
# ssh-add Enter passphrase for /root/.ssh/id_rsa: Identity added: /root/.ssh/id_rsa (/root/.ssh/id_rsa)
3. Il comando "ssh-add -l" elenca le impronte digitali di tutte le identità attualmente rappresentate dall'agente.
# ssh-add -l 2048 SHA256:4lYqkqgXmhIxoyMdT+ZfGFCxeMUqTnXLjrRQKjbEC/U /root/.ssh/id_rsa (RSA)
4. Puoi provare ad accedere al sistema remoto senza password ora.
$ ssh 192.168.12.10 Last login: Thu Apr 06 11:13:29 2014 from 192.168.12.20
In questo esempio, la passphrase viene ricordata solo per la sessione di accesso corrente e viene dimenticata quando ci si disconnette.