Git в Windows выдает ошибку «отказано в доступе (открытый ключ)» при попытке доступа к BitBucket через «git pull», даже если ssh-ключ правильный

Git в Windows выдает ошибку «отказано в доступе (открытый ключ)» при попытке доступа к BitBucket через «git pull», даже если ssh-ключ правильный

Я бегу:

  • Windows 10 (последние обновления)

  • Версия Git 'git версия 2.36.1.windows.1'

  • SSH -V возвращает:

     OpenSSH_for_Windows_8.1p1, LibreSSL 3.0.2
    

В диалоговом окне свойств всех исполняемых файлов внутри C:\Windows\System32\OpenSSH* отображается:

    product version: 8.1.0.1

(это стандартный набор, поддерживаемый Windows10 — я сам никогда к нему не прикасался)

  • «ssh-agent» запущен и работает. «ssh-add -l» отображает оба моих ключа:

    3072 SHA256:.... <blahblah> (RSA)
    2048 SHA256:.... C:\foo\bar\key.ppk (RSA)
    

Эти же самые ключи используются и внутри WSL2 (Ubuntu 20.04), и они работают просто отлично.

  • Когда я пытаюсь запустить git pull на любом из моихBitBucketрепозитории я получаю следующую ошибку:

      permission denied (public key)'
    

Точно такая же команда отлично работает в Ubuntu 20.04 с точно такими же ключами, загруженными в 'ssh-agent'. Что даёт?

решение1

Оказалось, что у «git» есть некоторые претензии к BitBucket в плане использования его встроенных библиотек OpenSSH в Windows10.

Я прибегнул к полной переустановке «git», но на этот раз убедился, что git использует набор OpenSSH, предоставляемый самой Windows10 (вместо встроенного в git набора OpenSSH), и после этого все заработало так, как и предполагалось.

PS: Люди, более осведомленные в OpenSSH / BitBucket / Git, могут пролить свет на то, почему встроенный пакет OpenSSH не работает — такие вещи на данный момент находятся за пределами моих возможностей.

Установка Git

PS#2: если вы не хотите переустанавливать «git» только для того, чтобы изменить эту конкретную настройку, то вы можете просто попробовать (хотя сам не проверял):

    git config --global core.sshCommand "C:/Windows/System32/OpenSSH/ssh.exe"

Связанный контент