Wie überprüfe / überprüfe / teste / validiere ich meine SSH-Passphrase?
297
Ich glaube, ich habe die Passphrase für meinen SSH-Schlüssel vergessen, aber ich habe eine Ahnung, was es sein könnte. Wie überprüfe ich, ob ich Recht habe?
Wenn Sie mit der Überprüfung fertig sind, entladen Sie Ihre SSH-Schlüssel-Passphrase von Ihrem SSH-Agenten mitssh-add -d
Kache
1
ssh-add erfordert Administratorrechte auf dem Computer, denke ich. Ich erhalte die Fehlermeldung: "Es konnte keine Verbindung zu Ihrem Authentifizierungsagenten hergestellt werden."
IgorGanapolsky
@IgorGanapolsky: Nein, es wird ein laufender Authentifizierungsagent benötigt. Ändern Sie Ihre Startskripte oder -optionen, um eines aufzurufen.
Wenn Sie zufällig Selinux verwenden, möchten Sie möglicherweise auch den Kontext des Home-Verzeichnisses und der .ssh-Dateien überprüfen! Ich hatte das Glück, diese einfache Lösung verwenden zu können: # restorecon -R -v /home/userUm zu überprüfen, ob dies das Problem ist (obwohl der vorhergehende Befehl keine Probleme verursachen sollte), können Sie $ ls -lZR <home_dir>den Kontext untersuchen. Wenn Sie user_home_tim Home-Verzeichnis sowie ssh_home_tim .sshVerzeichnis und in der authorized_keysDatei nichts sehen restorecon, beheben Sie diese.
Fbicknel
523
ssh-keygen -y
ssh-keygen -y fordert Sie zur Eingabe der Passphrase auf (falls vorhanden).
Wenn Sie die richtige Passphrase eingeben, wird der zugehörige öffentliche Schlüssel angezeigt.
Wenn Sie die falsche Passphrase eingeben, wird diese angezeigt load failed.
Wenn der Schlüssel keine Passphrase hat, werden Sie nicht zur Eingabe einer Passphrase aufgefordert und der zugehörige öffentliche Schlüssel wird sofort angezeigt.
z.B,
Erstellen Sie ein neues öffentliches / privates Schlüsselpaar mit oder ohne Passphrase:
$ ssh-keygen -f /tmp/my_key
...
Überprüfen Sie nun, ob Sie auf das Schlüsselpaar zugreifen können:
$ ssh-keygen -y -f /tmp/my_key
Das folgende Beispiel zeigt die Ausgabe.
Erstellen Sie ein neues öffentliches / privates Schlüsselpaar mit oder ohne Passphrase:
$ ssh-keygen -f /tmp/my_key
Generating public/private rsa key pair.
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /tmp/my_key.
Your public key has been saved in /tmp/my_key.pub.
The key fingerprint is:
de:24:1b:64:06:43:ca:76:ba:81:e5:f2:59:3b:81:fe [email protected]
The key's randomart image is:
+--[ RSA 2048]----+
| .+ |
| . . o |
| = . + |
| = + + |
| o = o S . |
| + = + * |
| = o o . |
| . . |
| E |
+-----------------+
Versuchen Sie, auf das Schlüsselpaar zuzugreifen, indem Sie die richtige Passphrase eingeben. Beachten Sie, dass der öffentliche Schlüssel angezeigt wird und der Exit-Status ( $?) den 0Erfolg anzeigt:
Versuchen Sie, auf das Schlüsselpaar zuzugreifen, indem Sie eine falsche Passphrase eingeben. Beachten Sie, dass die Fehlermeldung "Laden fehlgeschlagen" angezeigt wird (Meldung kann je nach Betriebssystem unterschiedlich sein) und der Exit-Status ( $?) 1einen Fehler anzeigt:
Versuchen Sie, auf ein Schlüsselpaar ohne Passphrase zuzugreifen. Beachten Sie, dass es keine Eingabeaufforderung für die Passphrase gibt, der öffentliche Schlüssel angezeigt wird und der Exit-Status ( $?) den 0Erfolg anzeigt:
Wenn kein Kennwort vorhanden ist, wird nur der zugehörige öffentliche Schlüssel ausgedruckt.
Kyrremann
1
Danke @Kyrremann! Ich habe jetzt die Antwort aktualisiert, um dies widerzuspiegeln.
Rob Bednark
ssh-keygen -yfragt nach der Schlüsseldatei und bietet eine Standardeinstellung an, wenn Sie wie erwartet auf Zurück klicken.
Timo
Ich habe ssh-keygen -ydie Passphrase meines SSH-Schlüssels überprüft. Es hat gut funktioniert, außer dass mein Ubuntu unglaublich langsam geworden ist. Die meisten Programme konnten in einer Minute oder länger gestartet werden, während die CPU-Auslastung 100% betrug. Nach dem Neustart meines Laptops konnte ich mich kaum anmelden, da es Minuten dauerte, bis ich meinen Desktop sah. Endlich habe ich dieses Problem auf Ask Ubuntu gefunden . Ich musste damit beginnen gnome-keyring-daemon, das Problem zu beheben.
Adam Fónagy
2
Wenn Sie die Lösung von @ RobBednark auf ein bestimmtes Windows + PuTTY-Szenario erweitern, können Sie Folgendes tun:
Verwenden Sie "ssh-keygen -p". Sie können "-f" hinzufügen
Sie werden aufgefordert, das alte Passwort einzugeben. Wenn das Passwort korrekt ist, werden Sie aufgefordert, ein neues Passwort einzugeben. Wenn das alte Passwort falsch ist, wird "Schlüssel <...> konnte nicht geladen werden" angezeigt.
Wenn Ihre Passphrase darin besteht, Ihren SSH-Schlüssel zu entsperren, und Sie ssh-agentsshd (den SSH-Daemon) nicht auf Ihrem Computer installiert haben , gehen Sie wie folgt vor:
passphrase
, kein Passwort;)Antworten:
Sie können Ihre SSH-Schlüsselpassphrase überprüfen, indem Sie versuchen, sie in Ihren SSH-Agenten zu laden. Bei OpenSSH erfolgt dies über
ssh-add
.Wenn Sie fertig sind, denken Sie daran, Ihre SSH-Passphrase durch Ausführen vom Terminal zu entladen
ssh-add -d
.quelle
ssh-add -d
# restorecon -R -v /home/user
Um zu überprüfen, ob dies das Problem ist (obwohl der vorhergehende Befehl keine Probleme verursachen sollte), können Sie$ ls -lZR <home_dir>
den Kontext untersuchen. Wenn Sieuser_home_t
im Home-Verzeichnis sowiessh_home_t
im.ssh
Verzeichnis und in derauthorized_keys
Datei nichts sehenrestorecon
, beheben Sie diese.ssh-keygen -y
fordert Sie zur Eingabe der Passphrase auf (falls vorhanden).Wenn Sie die richtige Passphrase eingeben, wird der zugehörige öffentliche Schlüssel angezeigt.
Wenn Sie die falsche Passphrase eingeben, wird diese angezeigt
load failed
.Wenn der Schlüssel keine Passphrase hat, werden Sie nicht zur Eingabe einer Passphrase aufgefordert und der zugehörige öffentliche Schlüssel wird sofort angezeigt.
z.B,
Erstellen Sie ein neues öffentliches / privates Schlüsselpaar mit oder ohne Passphrase:
Überprüfen Sie nun, ob Sie auf das Schlüsselpaar zugreifen können:
Das folgende Beispiel zeigt die Ausgabe.
Erstellen Sie ein neues öffentliches / privates Schlüsselpaar mit oder ohne Passphrase:
Versuchen Sie, auf das Schlüsselpaar zuzugreifen, indem Sie die richtige Passphrase eingeben. Beachten Sie, dass der öffentliche Schlüssel angezeigt wird und der Exit-Status (
$?
) den0
Erfolg anzeigt:Versuchen Sie, auf das Schlüsselpaar zuzugreifen, indem Sie eine falsche Passphrase eingeben. Beachten Sie, dass die Fehlermeldung "Laden fehlgeschlagen" angezeigt wird (Meldung kann je nach Betriebssystem unterschiedlich sein) und der Exit-Status (
$?
)1
einen Fehler anzeigt:Versuchen Sie, auf ein Schlüsselpaar ohne Passphrase zuzugreifen. Beachten Sie, dass es keine Eingabeaufforderung für die Passphrase gibt, der öffentliche Schlüssel angezeigt wird und der Exit-Status (
$?
) den0
Erfolg anzeigt:quelle
ssh-keygen -y
fragt nach der Schlüsseldatei und bietet eine Standardeinstellung an, wenn Sie wie erwartet auf Zurück klicken.ssh-keygen -y
die Passphrase meines SSH-Schlüssels überprüft. Es hat gut funktioniert, außer dass mein Ubuntu unglaublich langsam geworden ist. Die meisten Programme konnten in einer Minute oder länger gestartet werden, während die CPU-Auslastung 100% betrug. Nach dem Neustart meines Laptops konnte ich mich kaum anmelden, da es Minuten dauerte, bis ich meinen Desktop sah. Endlich habe ich dieses Problem auf Ask Ubuntu gefunden . Ich musste damit beginnengnome-keyring-daemon
, das Problem zu beheben.Wenn Sie die Lösung von @ RobBednark auf ein bestimmtes Windows + PuTTY-Szenario erweitern, können Sie Folgendes tun:
Generieren Sie ein SSH-Schlüsselpaar mit PuTTYgen (nach dem manuellen Generieren Ihres SSH-Schlüssels in Windows ) und speichern Sie ihn in einer PPK-Datei.
Wählen Sie im Kontextmenü im Windows Explorer die Option Mit PuTTYgen bearbeiten. Es wird nach einem Passwort gefragt.
Wenn Sie das falsche Passwort eingeben, werden Sie erneut aufgefordert.
Hinweis: Wenn Sie eingeben möchten, verwenden Sie den folgenden Befehl für einen Ordner, der die PPK-Datei enthält :
puttygen private-key.ppk -y
.quelle
Verwenden Sie "ssh-keygen -p". Sie können "-f" hinzufügen
Sie werden aufgefordert, das alte Passwort einzugeben. Wenn das Passwort korrekt ist, werden Sie aufgefordert, ein neues Passwort einzugeben. Wenn das alte Passwort falsch ist, wird "Schlüssel <...> konnte nicht geladen werden" angezeigt.
quelle
Wenn Ihre Passphrase darin besteht, Ihren SSH-Schlüssel zu entsperren, und Sie
ssh-agent
sshd (den SSH-Daemon) nicht auf Ihrem Computer installiert haben , gehen Sie wie folgt vor:Wo
~/.ssh/id_rsa.pub
ist der öffentliche Schlüssel und~/.ssh/id_rsa
ist der private Schlüssel.quelle