Wie kann ich das Passwort für den SSH-Schlüssel entfernen, ohne einen neuen Schlüssel erstellen zu müssen?

StackOverflow https://stackoverflow.com/questions/112396

Frage

setze ich ein Passwort, wenn einen neuen SSH-Schlüssel auf meinem Laptop zu schaffen. Aber, wie ich jetzt erkennen, dies sehr schmerzhaft ist, wenn Sie zu begehen versuchen ( Git und SVN ) an einen entfernten Ort über SSH oft in einer Stunde.

Ein Weg, ich heißt denken kann, meine SSH-Schlüssel löschen und neu erstellen. Gibt es eine Möglichkeit, das Passwort zu entfernen, während immer noch die gleichen Schlüssel zu halten?

War es hilfreich?

Lösung

Kurze Antwort:

$ ssh-keygen -p

Dies wird dann aufgefordert, die Schlüsseldatei Lage, das alte Passwort und das neue Passwort eingeben (die leer gelassen werden kann, kein Passwort haben).

Wenn Sie möchten, dass sie alle auf einer Linie ohne Eingabeaufforderungen tun zu tun:

$ ssh-keygen -p [-P old_passphrase] [-N new_passphrase] [-f keyfile]

Wichtig: Beachten Sie, dass, wenn Befehle ausführen sie werden in der Regel in Ihrer ~/.bash_history Datei (oder ähnlich) im Klartext einschließlich aller Argumente zur Verfügung gestellt (das heißt die Paßphrasen in diesem Fall) angemeldet werden. Es wird daher empfohlen, dass Sie die erste Option verwenden, wenn Sie einen bestimmten Grund sonst zu tun haben. Hinweis aber, dass Sie noch -f keyfile verwenden können, ohne spezifizieren -P noch -N, und dass die Schlüssel-Datei standardmäßig zu ~/.ssh/id_rsa, so in vielen Fällen ist es nicht einmal notwendig.

Sie möchten vielleicht ssh-agent zu verwenden, die in das Passwort für eine Zeit zwischenspeichern kann. Die neuesten Versionen von GPG-Agent auch das Protokoll unterstützen, das von ssh-agent verwendet wird.

Andere Tipps

Vielleicht möchten Sie folgendes zu Ihrem .bash_profile (oder gleichwertig) hinzuzufügen, die auf Login ssh-agent gestartet wird.

if [ -f ~/.agent.env ] ; then
    . ~/.agent.env > /dev/null
    if ! kill -0 $SSH_AGENT_PID > /dev/null 2>&1; then
        echo "Stale agent file found. Spawning new agent… "
        eval `ssh-agent | tee ~/.agent.env`
        ssh-add
    fi 
else
    echo "Starting ssh-agent"
    eval `ssh-agent | tee ~/.agent.env`
    ssh-add
fi

Auf einigen Linux-Distributionen (Ubuntu, Debian) können Sie:

ssh-copy-id -i ~/.ssh/id_dsa.pub username@host

Dies wird das erzeugte ID an einen entfernten Rechner kopieren und auf den Remote-Schlüsselbund hinzufügen.

Sie können mehr hier und hier .

$ ssh-keygen -p für mich gearbeitet

Eröffnet git bash. Geklebte: $ ssh-keygen -p

Hit

für Standard-Speicherort eingeben.

Geben Sie das alte Passwort

neues Passwort eingeben - BLANK

Bestätigen Sie das neue Passwort - BLANK

BOOM den Schmerz der Eingabe Passwort für git push weg war.

Danke!

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top