Determinar dónde se ha usado la clave
Para determinar dónde se ha usado ya la clave, abra una terminal y escriba el comando ssh
. Use la marca -i
para obtener la ruta a la clave que quiera comprobar:
$ ssh -T -ai ~/.ssh/id_rsa git@HOSTNAME
# Connect to tu instancia de GitHub Enterprise Server using a specific ssh key
> Hi USERNAME! You've successfully authenticated, but GitHub does not
> provide shell access.
El nombre de usuario de la respuesta es la cuenta de tu instancia de GitHub Enterprise Server a la que está asociada la clave actualmente. Si la respuesta tiene un aspecto similar a "username/repo", la clave se ha adjuntado a un repositorio como una clave de implementación.
Para forzar a que SSH use solo la clave proporcionada en la línea de comandos, use -o
para agregar la opción IdentitiesOnly=yes
:
ssh -v -o "IdentitiesOnly=yes" -i ~/.ssh/id_rsa git@HOSTNAME
Resolver el problema
Para resolver el problema, quite primero la clave de la otra cuenta o repositorio y, después, agréguela a la cuenta.
Si no tiene permisos para transferir la clave y no puede ponerse en contacto con un usuario que los tenga, quite el par de claves y genere uno nuevo.
Claves de implementación
Una vez que una clave se ha vinculado a un repositorio como llave de implementación, no se la puede usar en otro repositorio. Si se produce este error al configurar las claves de implementación, consulta Administrar las llaves de despliegue.