Wenn Ihr Problem in letzter Zeit (in der zweiten Hälfte des Jahres 2021) aus heiterem Himmel aufgetreten ist, könnte es durch inkompatible Hash-Algorithmen verursacht worden sein.
Zum Zeitpunkt dieses Beitrags (Oktober 2021) ist die neueste Version von Git für Windows 2.33.1 ( Freigabemitteilung ), der das neueste OpenSSH 8.8p1 ( Freigabemitteilung ), der seinerseits SHA-1 veraltet hat . Wenn Ihr entferntes Git-Repository jedoch immer noch SHA-1 verwendet, schlägt die Authentifizierung fehl.
Um festzustellen, ob dies bei Ihnen der Fall sein könnte, überprüfen Sie die Version Ihrer Software:
ssh -V
git --version
Dann sollten Sie den Abschnitt "Potenziell inkompatible Änderungen" in OpenSSH 8.8/8.8p Versionshinweise .
TL;DR
Lösung 1: Aktivieren Sie SHA-1 wieder, indem Sie dies zu Ihrer ~/.ssh/config
Datei:
Host <remote>
HostkeyAlgorithms +ssh-rsa
PubkeyAcceptedAlgorithms +ssh-rsa
Denken Sie daran, die <remote>
mit dem Hostnamen Ihres entfernten Repositorys.
Lösung 2: Regenerieren Sie Ihr Schlüsselpaar mit ECDSA oder Ed25519 anstelle von RSA. Zum Beispiel:
ssh-keygen -t ecdsa -C <comment>
Denken Sie daran, die <comment>
mit einer eigenen mnemonischen Phrase. Laden Sie dann den generierten öffentlichen Schlüssel in Ihr Remote-Repository hoch.
Zu Ihrer Information: Ich habe diese Meldung erhalten, als ich auf Gitee.com zugegriffen habe, das Folgendes verwendet golang.org/x/crypto/ssh
auf ihrem Server und hat eine Seite zu diesem Thema veröffentlicht aquí (in Mandarin).
git@gitee.com: Permission denied (publickey).
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/