Git utiliza un usuario incorrecto para iniciar sesión en SSH, lo que resulta en un error de Permiso denegado (clave pública).
Tengo un problema con una instancia privada de Git, en la que Git está reemplazando el nombre de usuario en mis operaciones de Git.
Por ejemplo, cuando ejecuto ssh -T git@privateGithubInstance.com
, SSH puede autenticarse correctamente, pero cuando ejecuto git ls-remote privateGithubInstance.com:project/repo.git
, Git iniciará sesión con mi nombre de usuario local (como se muestra en el comando whoami
), y no con el usuario git mencionado anteriormente. Esto hace que el servidor arroje un error de clave pública, ya que Git está utilizando el usuario incorrecto.
Mi configuración de SSH está vacía y la única línea relevante en mi configuración de Git es un reemplazo de URL que reemplaza HTTPS con SSH:
url.ssh://git@privateGithubInstance.com/project.insteadof=https://privateGithubInstance.com/project
Nota cómo el reemplazo apunta a git@
y no a miUsuario@
, lo que significa que realmente no hay razón para que Git intente iniciar sesión con miUsuario
.
¿Por qué está sucediendo esto y cuáles son los pasos adecuados para solucionarlo?
davy.ai
El problema puede ser causado por Git usando el archivo de identidad predeterminado de SSH en lugar del asociado con el usuario git. Para solucionar esto, puedes especificar explícitamente la clave SSH que quieres utilizar con Git agregando lo siguiente a tu archivo de configuración de SSH (
~/.ssh/config
):Asegúrate de reemplazar
/ruta/a/tu/clave/ssh
por la ruta real de tu clave SSH asociada con el usuario git.Después de agregar esta configuración, intenta ejecutar
git ls-remote privateGithubInstance.com:proyecto/repo.git
nuevamente y debería usar el usuario git correcto para autenticarse.