Eine weitere Möglichkeit unter Windows, die in keiner dieser Antworten und auch nicht in den Git- oder Github-Dokumenten zur Fehlerbehebung behandelt wird:
git verwendet möglicherweise eine andere openssh-Datei, als Sie denken.
Ich erhielt die Permission denied (public key)
Fehler beim Versuch, von github und ssh.dev.azure.com zu klonen oder zu ziehen, und ich hatte alle Anweisungen befolgt und überprüft, dass meine SSH-Schlüssel korrekt eingerichtet waren (vom Standpunkt von SSH aus gesehen), indem ich ssh -vT git@github.com
y ssh -vT git@ssh.dev.azure.com
. Und erhielt immer noch diese Fehler:
git@github.com: Permission denied (publickey).
fatal: Could not read from remote repository.
Please make sure you have the correct access rights
and the repository exists.
Ich habe schließlich herausgefunden, dass das Problem darin besteht, dass sowohl Git für Windows als auch Windows ihre eigenen Versionen von openssh haben. Dies ist hier dokumentiert: https://github.com/desktop/desktop/issues/5641
Ich habe mich auf den Windows ssh-agent-Dienst verlassen, um meine ssh-Schlüssel-Passphrasen zu speichern, so dass Git (mit seiner separaten Version von openssh) meine privaten Schlüssel nicht lesen konnte. Ich halte es für einen Fehler, dass diese Fehlermeldung verwendet wird - sie ist irreführend.
Das war die Lösung:
git config --global core.sshCommand "'C:\Windows\System32\OpenSSH\ssh.exe'"
Oder in Ihrer ~/.gitconfig:
[core]
sshCommand = 'C:\\Windows\\System32\\OpenSSH\\ssh.exe'
Vielleicht wird dies in Git für Windows bald behoben, aber dies ist das zweite Mal, dass ich mit diesem Problem Zeit verschwendet habe.
14 Stimmen
Haben Sie versucht, den öffentlichen Schlüssel, den Sie mit ssh-keygen erzeugt haben, hochzuladen?
0 Stimmen
Mein Problem war, dass ich versucht habe, von
sudo
- dies ist ein anderer Benutzer mit einem anderen öffentlichen Schlüssel.0 Stimmen
Derselbe Fehler. Ich habe zuvor einen öffentlichen Schlüssel über Github erstellt und dann ein weiteres Schlüsselpaar mit dem
ssh-keygen
Nutzen. Das Löschen des alten öffentlichen Schlüssels in den persönlichen Einstellungen auf Github und das Hinzufügen meines per SSH generierten Schlüssels id_rsa.pub zu den SSH- und GPG-Schlüsseln hat die Probleme mit der Klonberechtigung behoben.0 Stimmen
Wenn Sie die Bash-Screen ausführen und alles auf jeder verfügbaren Website getan haben, ist die Wahrscheinlichkeit groß, dass Sie sich aus der Sitzung, in der Sie die Screen-Sitzung erstellt haben, abgemeldet haben. Eine schnelle Abhilfe besteht darin, die Screen-Sitzung neu zu starten: siehe superuser.com/q/180148
0 Stimmen
Es gibt eine Seite in der Dokumentation, die einige Hinweise gibt - docs.github.com/de/authentication/troubleshooting-ssh/