%E2%80%9C%20aus%2C%20obwohl%20der%20SSH-Schl%C3%BCssel%20korrekt%20ist..png)
Ich renne:
Windows 10 (neueste Updates)
Git-Version „Git-Version 2.36.1.windows.1“
SSH -V gibt zurück:
OpenSSH_for_Windows_8.1p1, LibreSSL 3.0.2
Im Eigenschaftendialog werden alle ausführbaren Dateien innerhalb von C:\Windows\System32\OpenSSH* angezeigt:
product version: 8.1.0.1
(das ist die Standardsuite, die Windows 10 verwaltet – ich selbst habe sie nie berührt)
Der „SSH-Agent“ ist aktiv und läuft. „SSH-Add -l“ zeigt beide meiner Schlüssel an:
3072 SHA256:.... <blahblah> (RSA) 2048 SHA256:.... C:\foo\bar\key.ppk (RSA)
Genau diese gleichen Schlüssel werden auch in WSL2 (Ubuntu 20.04) verwendet und funktionieren einwandfrei.
Wenn ich versuche, 'git pull' auf einem meinerBit BucketRepos erhalte ich die folgende Fehlermeldung:
permission denied (public key)'
Der exakt gleiche Befehl funktioniert unter Ubuntu 20.04 einwandfrei, wenn die exakt gleichen Schlüssel in „ssh-agent“ geladen sind. Was ist da los?
Antwort1
Es stellte sich heraus, dass „git“ eine Art persönliche Abneigung gegen BitBucket hat, wenn es um die Verwendung der integrierten OpenSSH-Bibliotheken in Windows 10 geht.
Ich habe mich dazu entschlossen, „git“ komplett neu zu installieren, aber dieses Mal habe ich darauf geachtet, dass git die von Windows 10 selbst bereitgestellte OpenSSH-Suite verwendet (anstelle der in git integrierten OpenSSH-Suite), und sobald dies erledigt war, funktionierte alles wie vorgesehen.
PS: Leute, die sich mit OpenSSH/BitBucket/Git besser auskennen, können etwas mehr Licht in die Sache bringen, warum die integrierte „OpenSSH“-Suite nicht funktioniert – solche Dinge liegen derzeit außerhalb meiner Möglichkeiten.
PS Nr. 2: Wenn Sie die Neuinstallation von „Git“ nur zum Optimieren dieser bestimmten Einstellung vermeiden möchten, können Sie einfach Folgendes versuchen (habe es allerdings nicht selbst getestet):
git config --global core.sshCommand "C:/Windows/System32/OpenSSH/ssh.exe"