Wie kann ich das Passwort für den SSH-Schlüssel entfernen, ohne einen neuen Schlüssel erstellen zu müssen?
-
02-07-2019 - |
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?
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.
$ ssh-keygen -p
für mich gearbeitet
Eröffnet git bash. Geklebte: $ ssh-keygen -p
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!