Ich habe Schlüssel wie im Github-Tutorial beschrieben erstellt, sie bei Github registriert und versucht, ssh-agent explizit zu verwenden. Git fragt mich jedoch weiterhin jedes Mal nach meiner Passphrase, wenn ich versuche, einen Pull oder Push auszuführen.
Was könnte die Ursache sein?
Antworten:
Sobald Sie den SSH-Agenten gestartet haben mit:
Sie müssen Ihren privaten Schlüssel hinzufügen:
Dies wird Sie nur einmal nach Ihrer Passphrase fragen, und dann sollten Sie pushen dürfen, vorausgesetzt, Sie haben den öffentlichen Schlüssel auf Github hochgeladen.
So speichern Sie den Schlüssel dauerhaft unter macOS:
Dadurch bleibt es bestehen, nachdem Sie es geschlossen und erneut geöffnet haben, indem Sie es im Schlüsselbund des Benutzers speichern.
quelle
git pull
, mich erneut zur Eingabe des Passworts auffordern.ssh-add -K
wird es beibehalten, nachdem Sie es geschlossen und wieder geöffnet haben, indem Sie es im Schlüsselbund des Benutzers speichern.ssh-add -K
gibt Folgendes:unknown option -- K usage: ssh-add [options] [file ...] Options: -l List fingerprints of all identities. -L List public key parameters of all identities. -k Load only keys and not certificates. -c Require confirmation to sign using identities -t life Set lifetime (in seconds) when adding identities. -d Delete identity. -D Delete all identities. -x Lock agent. -X Unlock agent. -s pkcs11 Add keys from PKCS#11 provider.
-K
ist apfelspezifisch. Siehe help.github.com/articles/…Dies ist mir nach dem Neustart seit dem Upgrade von OS X El Capitan (10.11) auf macOS Sierra (10.12) passiert. Die
ssh-add
Lösung funktionierte vorübergehend, blieb jedoch bei einem weiteren Neustart nicht bestehen.Die dauerhafte Lösung bestand darin,
~/.ssh/config
dieUseKeychain
Option zu bearbeiten (oder zu erstellen) und zu aktivieren .Verwandte: macOS fragt immer wieder nach meiner SSH-Passphrase, seit ich auf Sierra aktualisiert habe
quelle
ssh-add -K /Users/***/.ssh/git/id_rsa
aber es funktionierte immer noch nicht nach dem Neustart des Terminals ... danke.Wenn Sie es versucht haben
ssh-add
und dennoch aufgefordert werden, Ihre Passphrase einzugeben, versuchen Sie es mitssh-add -K
. Dadurch wird Ihre Passphrase Ihrem Schlüsselbund hinzugefügt.Update: Wenn Sie macOS Sierra verwenden, müssen Sie wahrscheinlich einen weiteren Schritt ausführen, da die oben genannten Schritte möglicherweise nicht mehr funktionieren. Fügen Sie Folgendes hinzu
~/.ssh/config
:quelle
Ich würde folgendes versuchen:
~/.bashrc
Dateiquelle
zsh
. Fügen Sie dies einfach zu.zshrc
id_rsa
. Wenn Sie einen benutzerdefinierten Namen haben, sollten Sie z./usr/bin/ssh-add ~/.ssh/custom_filename
Was unter Windows für mich funktionierte, war (ich hatte Code von einem ersten Repo geklont):
Zu diesem Zeitpunkt wurde ich ein letztes Mal nach meiner Passphrase gefragt
Credits: Die Lösung wurde von /unix/12195/how-to-avoid-being-asked-passphrase-each-time-i-push-to-bitbucket übernommen
quelle
Versuchen Sie, dies zu Ihrer ~ / .ssh / config hinzuzufügen :
... vorausgesetzt, Ihr privater Schlüssel heißt id_rsa
quelle
Ich hatte ein ähnliches Problem, aber die anderen Antworten haben mein Problem nicht behoben. Ich dachte, ich würde weitermachen und dies posten, nur für den Fall, dass jemand anderes ein verrücktes Setup wie ich hat.
Es stellte sich heraus, dass ich mehrere Schlüssel hatte und Git zuerst den falschen verwendete. Es würde mich zur Eingabe meiner Passphrase auffordern und ich würde sie eingeben, dann würde Git einen anderen Schlüssel verwenden, der funktionieren würde (für den ich die Passphrase nicht eingeben musste).
Ich habe gerade den Schlüssel gelöscht, mit dem ich zur Eingabe einer Passphrase aufgefordert wurde, und jetzt funktioniert es!
quelle
Es hört sich so an, als hätten Sie möglicherweise Probleme mit dem SSH-Agent selbst. Ich würde versuchen, das zu beheben.
1) Haben Sie ssh-add ausgeführt, um Ihren Schlüssel zu SSH hinzuzufügen?
2) Schließen Sie das Terminalfenster zwischen den Verwendungen, denn wenn Sie das Fenster schließen, müssen Sie das Kennwort erneut eingeben, wenn Sie es erneut öffnen.
quelle
Wenn die oben genannten Lösungen für mich nicht funktionieren, müssen Sie überprüfen, ob Sie (normalerweise
id_rsa.pub
) auch über den öffentlichen Schlüssel verfügen . Es ist ungewöhnlich, das nicht zu tun, aber das war die Ursache für mich.So erstellen Sie Ihren öffentlichen Schlüssel aus Ihrem privaten Schlüssel:
quelle
Ich probiere verschiedene Lösungen aus, aber nichts hilft. Aber diese Schritte ( meine GitBash SSH-Umgebung fragt immer nach meiner Passphrase, was kann ich tun? ) Von Bitbucket.com-Nähten funktionieren gut:
Die Idee ist:
Sie erstellen eine
~/.bashrc
Dateifüge folgendes Skript hinzu:
Führen Sie Bash erneut aus
quelle
Eine andere mögliche Lösung, die oben nicht erwähnt wurde, besteht darin, Ihre Fernbedienung mit dem folgenden Befehl zu überprüfen:
Wenn die Fernbedienung nicht mit git, sondern mit https startet, können Sie sie anhand des folgenden Beispiels in git ändern.
quelle