Quiero usar otro IdentityFile para git. Quiero usarlo dinámicamente, no a través de la configuración. Estoy haciendo esto:
$ GIT_SSH_COMMAND='ssh -i /home/my_user/.ssh/id_ed25519' git pull origin master
repository access denied.
fatal: Could not read from remote repository.
Please make sure you have the correct access rights
and the repository exists.
La clave de pub “id_ed25519.pub” está en mi bitbucket.
Y esto también falla:
$ git pull origin master
repository access denied.
fatal: Could not read from remote repository.
Please make sure you have the correct access rights
and the repository exists.
Y:
$ git remote -v
origin git@bitbucket.org:company123/repo456.git (fetch)
origin git@bitbucket.org:company123/repo456.git (push)
agregando “-v” a ‘ssh -i /home/mi_usuario/.ssh/id_ed25519’ revela que se está utilizando mi clave RSA, en lugar de ED. ¿Por qué?
AlexTG
Tuve el mismo problema con la versión reciente de Ubuntu:
El uso de -vvv reveló lo siguiente:
debug2: key: /home/ubuntu/.ssh/id_rsa (0x5628e48246d0), agent
debug2: key: /home/ubuntu/code/id_rsa (0x5628e4820af0), explicit
agregando -o IdentitiesOnly=yes
resuelto. Le dice a SSH que ignore las identidades de ssh-agent (por ejemplo, agregadas con ssh-add
) que, de lo contrario, prevalecerán.
Lleno git
dominio:
GIT_SSH_COMMAND='ssh -o IdentitiesOnly=yes -i /home/ubuntu/code/id_rsa -F /dev/null' git pull
-
Agregué una oración que describe brevemente lo que
IdentitiesOnly
hace. Siéntase libre de editar/revertir en caso de que no esté de acuerdo con el cambio.– luator
8 de septiembre de 2022 a las 9:01
Verifique sus comandos (se llama git directamente o mediante un alias) y la configuración:
Como menciono en “Uso GIT_SSH_COMMAND
“, un git config -l podría revelar otra configuración que anularía la variable de entorno.
Consulta la devolución de git config core.sshCommand
.
Finalmente, GIT_SSH_COMMAND
significa Git 2.10+, por lo que si su versión de Git es demasiado antigua, primero deberá actualizarla.
-
“git demasiado viejo” era mi problema.
– semental
8 de febrero de 2021 a las 23:18
-
git –version muestra “git versión 2.33.0” todavía tiene este problema.
– Truong Hieu
13 abr a las 16:11
-
@TruongHieu ¿Git 2.40 también lo tendría?
– VoC
13 abr a las 17:17
En caso de que alguien tenga este problema con la ligera variación de configuración GIT_SSH_COMMAND
en una línea, y luego en una línea diferente realmente ejecutando el git
comando, intente uno de los siguientes:
- colocar
GIT_SSH_COMMAND
en la misma línea:
$ GIT_SSH_COMMAND="ssh -i ${key_location}" git clone [...]
o….
- exportar
GIT_SSH_COMMAND
$ export GIT_SSH_COMMAND="ssh -i ${key_location}"
$ git clone [...]
yo habré puesto GIT_SSH_COMMAND
justo después de encontrar qué tecla usar y luego ejecutar git
unas líneas después. Quité por error el export
y rompió el git
dominio.
Dado que este es uno de los principales enlaces de Google cuando se busca “GIT_SSH_COMMAND” y la pregunta recibe más votos que las respuestas, es posible que algunos visitantes tengan el mismo problema que OP pero por una razón diferente a la que recomiendan las otras respuestas. Esperemos que esto sea útil para alguien.