Program ssh-agent je ověřovací agent, který zpracovává hesla pro soukromé klíče SSH. Pomocí ssh-add přidejte klíče do seznamu spravovaného ssh-agentem. Po přidání hesla soukromého klíče do ssh-agent jej nemusíte zadávat pokaždé, když se připojujete ke vzdálenému hostiteli pomocí svého veřejného klíče.
Generování párů ověřovacích klíčů
Použijte ssh-keygen pro vygenerování párů ověřovacích klíčů, jak je popsáno níže. Při vytváření párů klíčů zadejte přístupové heslo, například „heslo“.
# 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]-----+
Zkopírujte veřejný klíč na vzdálený hostitel
1. Zkopírujte veřejný klíč do ~/.ssh/authorized_keys na vzdáleném systému.
# ssh-copy-id -i ~/.ssh/id_rsa.pub [email protected]
2. Nyní se zkuste přihlásit do počítače pomocí „ssh ‘[email protected]′“ a zkontrolujte .ssh/authorized_keys souboru, abyste se ujistili, že jsme nepřidali další klíče, které jste nečekali.
$ 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
Přidat heslo soukromého klíče do ssh-agent
1. Chcete-li přidat heslo soukromého klíče do ssh-agent, zadejte následující příkaz:
# exec ssh-agent $SHELL
2. Dalším krokem je přidání klíče pomocí příkazu ssh-add.
# ssh-add Enter passphrase for /root/.ssh/id_rsa: Identity added: /root/.ssh/id_rsa (/root/.ssh/id_rsa)
3. Příkaz „ssh-add -l“ vypíše otisky všech identit aktuálně reprezentovaných agentem.
# ssh-add -l 2048 SHA256:4lYqkqgXmhIxoyMdT+ZfGFCxeMUqTnXLjrRQKjbEC/U /root/.ssh/id_rsa (RSA)
4. Nyní se můžete pokusit přihlásit do vzdáleného systému bez hesla.
$ ssh 192.168.12.10 Last login: Thu Apr 06 11:13:29 2014 from 192.168.12.20
V tomto příkladu je přístupová fráze zapamatována pouze pro aktuální relaci přihlášení a je zapomenuta, když se odhlásíte.