Das Programm ssh-agent ist ein Authentifizierungsagent, der Kennwörter für private SSH-Schlüssel verarbeitet. Verwenden Sie ssh-add, um die Schlüssel zu der Liste hinzuzufügen, die von ssh-agent verwaltet wird. Nachdem Sie ssh-agent ein Passwort für einen privaten Schlüssel hinzugefügt haben, müssen Sie es nicht jedes Mal eingeben, wenn Sie sich mit Ihrem öffentlichen Schlüssel mit einem entfernten Host verbinden.
Authentifizierungsschlüsselpaare generieren
Verwenden Sie das ssh-keygen Befehl zum Generieren von Authentifizierungsschlüsselpaaren wie unten beschrieben. Geben Sie beim Erstellen der Schlüsselpaare eine Passphrase an, z. B. „Passwort“.
# 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]-----+
Kopieren Sie den öffentlichen Schlüssel auf den Remote-Host
1. Kopieren Sie den öffentlichen Schlüssel nach ~/.ssh/authorized_keys auf dem Remote-System.
# ssh-copy-id -i ~/.ssh/id_rsa.pub [email protected]
2. Versuchen Sie nun, sich mit „ssh ‘[email protected]′′“ am Computer anzumelden, und checken Sie die .ssh/authorized_keys ein Datei, um sicherzustellen, dass wir keine zusätzlichen Schlüssel hinzugefügt haben, die Sie nicht erwartet haben.
$ 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
Passwort für privaten Schlüssel zu ssh-agent hinzufügen
1. Um das Passwort des privaten Schlüssels zu ssh-agent hinzuzufügen, geben Sie den folgenden Befehl ein:
# exec ssh-agent $SHELL
2. Im nächsten Schritt verwenden Sie den Befehl ssh-add, um den Schlüssel hinzuzufügen.
# ssh-add Enter passphrase for /root/.ssh/id_rsa: Identity added: /root/.ssh/id_rsa (/root/.ssh/id_rsa)
3. Der Befehl „ssh-add -l“ listet die Fingerabdrücke aller Identitäten auf, die derzeit vom Agenten repräsentiert werden.
# ssh-add -l 2048 SHA256:4lYqkqgXmhIxoyMdT+ZfGFCxeMUqTnXLjrRQKjbEC/U /root/.ssh/id_rsa (RSA)
4. Sie können sich jetzt ohne Passwort beim Remote-System anmelden.
$ ssh 192.168.12.10 Last login: Thu Apr 06 11:13:29 2014 from 192.168.12.20
In diesem Beispiel wird die Passphrase nur für die aktuelle Anmeldesitzung gespeichert und beim Abmelden vergessen.