Los errores de Git de Windows muestran 'permiso denegado (clave pública)' al intentar acceder a BitBucket a través de 'git pull' a pesar de que la clave ssh es correcta

Los errores de Git de Windows muestran 'permiso denegado (clave pública)' al intentar acceder a BitBucket a través de 'git pull' a pesar de que la clave ssh es correcta

Estoy corriendo:

  • Windows 10 (últimas actualizaciones)

  • Versión de Git 'versión de Git 2.36.1.windows.1'

  • SSH-V devuelve:

     OpenSSH_for_Windows_8.1p1, LibreSSL 3.0.2
    

En el cuadro de diálogo de propiedades, se muestran todos los ejecutables dentro de C:\Windows\System32\OpenSSH*:

    product version: 8.1.0.1

(Esta es la suite predeterminada que mantiene Windows10; nunca le puse un dedo encima)

  • El 'ssh-agent' está funcionando y 'ssh-add -l' muestra mis dos claves:

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

Estas mismas claves exactas también se usan dentro de WSL2 (Ubuntu 20.04) y funcionan bien.

  • Cuando intento ejecutar 'git pull' en cualquiera de misBitBucketrepositorios me sale el siguiente error:

      permission denied (public key)'
    

Exactamente el mismo comando funciona bien en Ubuntu 20.04 con exactamente las mismas claves cargadas en 'ssh-agent'. ¿Lo que da?

Respuesta1

Resultó que 'git' tiene algún tipo de molestia con BitBucket cuando se trata de usar sus bibliotecas OpenSSH integradas en Windows10.

Recurrí a reinstalar 'git' por completo, pero esta vez me aseguré de que git empleara la suite OpenSSH proporcionada por Windows10 (en lugar de la suite OpenSSH incorporada de git) y una vez hecho esto, todo comenzó a funcionar según lo previsto.

PD: Las personas con más conocimientos sobre OpenSSH/BitBucket/Git pueden arrojar más luz sobre por qué la suite integrada 'OpenSSH' no funciona; esas cosas están fuera del alcance de mis capacidades por el momento.

instalación de git

PS#2: si quieres evitar reinstalar 'git' solo para modificar esta configuración en particular, simplemente puedes intentarlo (aunque no lo he probado yo mismo):

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

información relacionada