Frage Wie ändere ich meine Passphrase für den privaten Schlüssel?


Ich habe ein öffentliches / privates Schlüsselpaar. Der private Schlüssel ist passwortgeschützt und die Verschlüsselung kann entweder RSA oder DSA sein. Diese Schlüssel sind die Art, mit der Sie generieren ssh-keygen und im Allgemeinen unter speichern ~/.ssh.

Ich möchte das Passwort des privaten Schlüssels ändern. Wie gehe ich in einer Standard-Unix-Shell vor?

Wie entferne ich einfach das Passwort? Ändern Sie es einfach in leer?


219
2017-08-06 05:37


Ursprung




Antworten:


So ändern Sie die Passphrase für Ihren Standard-DSA-Schlüssel:

$ ssh-keygen -p -f ~/.ssh/id_dsa

Geben Sie dann Ihre alte und neue Passphrase (zweimal) an den Eingabeaufforderungen ein. (Benutzen ~/.ssh/id_rsa wenn Sie einen RSA-Schlüssel haben.)

Mehr Details von man ssh-keygen:

[...]
SYNOPSIS
    ssh-keygen [-q] [-b bits] -t type [-N new_passphrase] [-C comment]
               [-f output_keyfile]
    ssh-keygen -p [-P old_passphrase] [-N new_passphrase] [-f keyfile]
[...]
     -f filename
             Specifies the filename of the key file.
[...]
     -N new_passphrase
             Provides the new passphrase.

     -P passphrase
             Provides the (old) passphrase.

     -p      Requests changing the passphrase of a private key file instead of
             creating a new private key.  The program will prompt for the file
             containing the private key, for the old passphrase, and twice for
             the new passphrase.
[...]

284
2017-08-06 06:01



Dies ist von der Manpage, die mit net-misc / openssh-5.2_p1-r2 auf Gentoo Linux ausgeliefert wird. - Mike Mazur
Um der zukünftigen faulen Person willen würde ich die Reihenfolge umgekehrt: schnelle Antwort zuerst, später Man Seite. - kch
Ich denke, die Antwort ist großartig, da beide zeigen, wo Sie das Passwort ändern können und wo Sie nach der Antwort suchen können. Ich habe vielen Leuten geholfen, ssh-Schlüssel einzurichten, und für sie ist es nicht immer einfach, sich zu merken, welches Werkzeug sie benutzt haben. Außerdem ist die Suche nach der Antwort auf dem Netz für viele die erste Option ... - sastorsl
Wenn Ihre Maschinen OpenSSH> = 6.5 verwenden, Du solltest das benutzen -o Möglichkeit Aktivieren des neuen privaten Schlüsselformats (bcrypt standardmäßig als KDF). Bei älteren OpenSSH-Versionen Verwenden Sie PKCS # 8 für sicherere private Schlüsseldateien. - Quinn Comendant
@FranciscoLuz Der Befehl in meiner Antwort ist spezifisch für einen DSA-Schlüssel. Wenn Sie einen RSA-Schlüssel haben, ist Ihr Befehl korrekt. Ich fügte der Antwort einen Klappentext hinzu. - Mike Mazur


Entfernen Sie Ihre öffentlichen / privaten SSH-Schlüssel:

rm ~/.ssh/id_rsa*

Erstellen Sie das Schlüsselpaar neu und wählen Sie eine neue Passphrase aus:

ssh-keygen -t rsa -f ~/.ssh/id_rsa

Fügen Sie den neu erstellten privaten Schlüssel zu Ihrem OS X-Schlüsselbund hinzu, um die Passphrase zu speichern und die automatische Entsperrung zu verwalten:

ssh-add -K ~/.ssh/id_rsa

Kopieren Sie den öffentlichen Schlüssel in die Zwischenablage von OS X, um Webdienste wie GitHub usw. hinzuzufügen.

cat ~/.ssh/id_rsa.pub | pbcopy

Fügen Sie den neu erstellten öffentlichen Schlüssel dem hinzu ~/.ssh/authorized_keys Datei des Remote-Servers. Stellen Sie sicher, dass Sie die richtigen Berechtigungen für beide Remote-Geräte haben ~/.ssh Ordner (700) und ~/.ssh/authorized_keys (600). Vielleicht möchten Sie untersuchen mit ssh-copy-id um diesen Prozess zu erleichtern.


-7
2018-02-20 15:17



Das Poster fragte, wie man die Passphrase auf ihrem Schlüssel ändert, nicht wegwirft und eine neue erzeugt; und sie haben OS X nie erwähnt. - musicinmybrain
Ich hätte diese Antwort aufgeschlagen, wenn es nicht diese drei Probleme gegeben hätte: 1. Das Löschen der alten Schlüssel ist kein guter Anfang, da Sie diese beim Aktualisieren benötigen authorized_keys. 2. Sie haben nicht erwähnt, warum das Erstellen neuer Schlüssel besser ist als das Ändern von Kennwörtern auf dem alten. 3. Sie treffen Annahmen über OS, die von der Frage nicht unterstützt werden. - kasperd