832 Stimmen

SSH-Schlüssel - Bittet immer noch nach Passwort und Passphrase

Ich habe Github immer wieder nach meinem Benutzernamen und Passwort gefragt, wenn ich ein Repository klone. Ich möchte diesen Schritt umgehen, weil er mich bei meiner Arbeit stört.

Ich habe versucht, einen SSH-Schlüssel einzurichten (was mir erfolgreich gelang) mithilfe dieses Leitfadens. https://help.github.com/articles/generating-ssh-keys und es hat funktioniert.

Mein Problem ist, dass ich immer noch nach meinem Github-Passwort und Passphrase gefragt werde, wenn ich ein Repository (mit SSH) klonen will. Mein Verständnis war, dass ich nach Einrichtung dieses SSH-Schlüssels das nicht mehr tun müsste.

Ich bin mir etwas unsicher, was ich fragen soll, also werde ich einfach mein Ziel nennen.

Ich möchte in der Lage sein, Repositories zu klonen, ohne jedes Mal meine Github-Informationen eingeben zu müssen.

Was fehlt mir bei meinem SSH-Schlüssel? Wenn jemand Anleitung oder Ressourcen anbieten kann, wäre ich dankbar, denn ich habe mich immer etwas verloren gefühlt, wenn es um die SSH-Authentifizierung in GitHub ging.

Nach meinem Wissen ist dies ein Befehl, der prüft, ob alles ordnungsgemäß funktioniert, hier ist die Ausgabe von meiner Konsole:

~ $ ssh -T git@github.com
Saving password to keychain failed
Enter passphrase for key '/Users/MYNAME/.ssh/id_rsa':
Hi MYNAME! You've successfully authenticated, but GitHub does not provide shell access.

Sollte mein Passwort zuerst fehlschlagen, wenn ich es eingebe? Dann, wenn ich mein Passphrase eingebe, erfolgt die Authentifizierung.

58voto

Junaid Punkte 4015

Zusammenfassung
Sie müssen einen SSH-Agenten verwenden. Öffnen Sie dazu das Terminal und vorein Pushen zu Git, führen Sie aus

ssh-add

Geben Sie Ihr Passwort ein, wenn Sie dazu aufgefordert werden.

Lesen Sie die Originalantwort auf StackExchange hier

42voto

Mahtab Alam Punkte 1810

Stellen Sie sicher, dass Sie auch ssh für Ihr Repository verwenden

mahtab@mahtab-Lenovo-G50-70:~/my-projects/jenkins-cje-2017$ git remote -v origin git@github.com:eMahtab/jenkins-cje-2017.git (fetch) origin git@github.com:eMahtab/jenkins-cje-2017.git (push)

Bildbeschreibung hier eingeben

Verwenden Sie nicht https, wenn Ihr Remote https verwendet, wird es weiterhin nach einem Passwort fragen, auch wenn Sie den öffentlichen Schlüssel zu Github hinzugefügt und den privaten Schlüssel zum ssh-Agenten hinzugefügt haben. Unten wird immer nach einem Passwort fragen

mahtab@mahtab-Lenovo-G50-70:~/my-projects/jenkins-cje-2017$ git remote -v origin https://github.com/eMahtab/jenkins-cje-2017.git (fetch) origin https://github.com/eMahtab/jenkins-cje-2017.git (push)

30voto

user3640130 Punkte 433

Führen Sie einfach den folgenden Befehl aus:

ssh-add -K

Es wird Sie nie wieder auffordern, das Passwort einzugeben.

28voto

Black Punkte 15156

Ich musste folgendes ausführen:

eval `ssh-agent -s`
ssh-add

Hinweis: Du musst dies nach jedem Neustart erneut tun. Wenn du das vermeiden möchtest, füge es in deine ".bashrc" Datei ein, die sich unter C:\Users\<>\.bashrc in Windows befindet. Sie ist wahrscheinlich versteckt, also stelle sicher, dass du versteckte Dateien anzeigen kannst.

Lösung hier gefunden hier.

22voto

CM777 Punkte 376

Diese Seite auf Github hat die Antwort, die du brauchst. Du musst zur SSH-Authentifizierung von HTTPS wechseln.

Überprüfe, wie die Authentifizierung erfolgt, wie folgt.

$ git remote -v
> origin  https://github.com/BENUTZERNAME/REPOSITORY.git (fetch)
> origin  https://github.com/BENUTZERNAME/REPOSITORY.git (push)

Ändere die URL des Remotes von HTTPS auf SSH mit dem Befehl git remote set-url.

$ git remote set-url origin git@github.com:BENUTZERNAME/REPOSITORY.git

Teste es erneut mit

$ git remote -v
# Überprüfe die neue Remote-URL
> origin  git@github.com:BENUTZERNAME/REPOSITORY.git (fetch)
> origin  git@github.com:BENUTZERNAME/REPOSITORY.git (push)

Das war's. Es sollte jetzt funktionieren.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X