Kurze Antwort:
$ ssh-keygen -p
Daraufhin werden Sie aufgefordert, den Speicherort der Schlüsseldatei, die alte Passphrase und die neue Passphrase einzugeben (die leer gelassen werden kann, um keine Passphrase zu haben).
Wenn Sie alles in einer Zeile ohne Eingabeaufforderungen erledigen möchten, tun Sie dies:
$ ssh-keygen -p [-P old_passphrase] [-N new_passphrase] [-f keyfile]
Das ist wichtig: Beachten Sie, dass bei der Ausführung von Befehlen diese normalerweise in Ihrem ~/.bash_history
Datei (o.ä.) im Klartext einschließlich aller Argumente (d.h. in diesem Fall die Passphrasen). Es wird daher empfohlen, die erste Option zu verwenden, es sei denn, Sie haben einen besonderen Grund, etwas anderes zu tun.
Beachten Sie jedoch, dass Sie weiterhin -f keyfile
ohne angeben zu müssen -P
ni -N
und dass die Schlüsseldatei standardmäßig auf ~/.ssh/id_rsa
In vielen Fällen ist sie also gar nicht erforderlich.
Sie können auch ssh-agent verwenden, das die Passphrase eine Zeit lang zwischenspeichern kann. Die neuesten Versionen von gpg-agent unterstützen auch das Protokoll, das von ssh-agent verwendet wird.
12 Stimmen
Ich denke, die richtige Antwort ist eigentlich die von Torsten Marek. Der ssh-agent-Trick könnte das sein, wonach Sie suchen, aber es ist eine Antwort auf eine andere Frage.
1 Stimmen
Die Passphrase ist nicht nur ein Schlüssel zum Entsperren des privaten SSH-Schlüssels, sondern ein Teil des Verschlüsselungsmechanismus. Ein Teil ist Ihr SSH-Schlüssel, der andere - die manuell eingegebene Passphrase. Nur wenn beide Teile korrekt sind, ist der zusammengesetzte Schlüssel, der aus ihnen im Handumdrehen erzeugt wird, gültig. Eine andere Passphrase entspricht also einem anderen SSH-Schlüssel (und keine Passphrase ist ein Sonderfall der "anderen Passphrase").
133 Stimmen
Die Beantwortung solcher Fragen ist so, als würde man darüber diskutieren, ob Seiteneffekte in Programmiersprachen erlaubt sein sollten, weil sie "rein" sind oder nicht. Puristen laufen immer Amok, während es den anderen egal ist, weil es eine hilfreiche Funktion ist und das Leben einfacher macht. ssh wird gebraucht, auch wenn es nicht unbedingt etwas mit Programmierung zu tun hat... schließen Sie solche Fragen nicht. :|
0 Stimmen
Ich stimme zu, es ist schmerzhaft, und ich erlebe es auch mehrmals am Tag. Manchmal bietet es mir jedoch eine letzte Gelegenheit, einen Blick auf das zu werfen, was ich schiebe, bevor ich wirklich schiebe. Ich finde diese kleine Kommandozeilenmodifikation hilfreich: coderwall.com/p/fasnya/add-git-branch-name-to-bash-prompt