tag password cuenta configurar and git ssh github ssh-keys

password - git rename tag



Tener problemas para cambiar las cuentas de Github en la terminal (1)

El problema es que su ssh local todavía está ofreciendo su clave SSH "antigua" a GitHub. Esto a menudo aparece cuando tiene una clave reconocida por GitHub (es decir, su clave "anterior") cargada en un agente ssh pero quiere usar una clave diferente reconocida por GitHub (es decir, su "nueva" clave).

ssh ofrece claves en este orden:

  1. claves especificadas que se han cargado en el agente
  2. otras claves que se han cargado en el agente
  3. claves especificadas que no se han cargado en el agente

Por "claves especificadas" me refiero a las claves especificadas por la opción de línea de comando -i o la opción de configuración de IdentityFile (que se puede dar a través de ~/.ssh/config o la opción de línea de comando -o ).

Si su clave "antigua" se carga en el agente, pero su clave "nueva" no es, entonces ssh siempre ofrecerá su clave "antigua" (de la primera o segunda categoría) antes de su "nueva" clave (solo en el última categoría ya que no está cargada), incluso cuando especifica su "nueva" clave con -i / IdentitiesOnly .

Puede verificar qué claves están cargadas en su ssh-agent con ssh-add -l . Si su clave "anterior" aparece en la lista, puede solucionar el problema descargándolo de su agente (asegúrese de descargar también cualquier otra clave reconocida por GitHub, excepto quizás su "nueva" clave):

ssh-add -d ~/.ssh/old_key_file

Si está utilizando Mac OS X, el sistema puede cargar automáticamente su clave "anterior" si marcó "Recordar contraseña en mi llavero" cuando se le solicite la contraseña en un punto; Puede desactivar esta carga automática eliminando la entrada de Llavero para la llave con el comando
/usr/bin/ssh-add -K -d ~/.ssh/old_key_file . Otros sistemas pueden hacer algo similar, pero los comandos para decirles que "detengan eso" serán diferentes.

En lugar de descargar la clave "vieja" de su agente, puede configurar la opción de configuración IdentitiesOnly en yes , para decirle a ssh que saltee la segunda categoría de claves (claves cargadas por agentes no especificadas). Su ~/.ssh/config puede incluir una sección como esta:

Host github.com User git IdentityFile ~/.ssh/id_rsa # wherever your "new" key lives IdentitiesOnly yes

De esta forma, no importará si se cargan otras claves reconocidas por GitHub en su agente; ssh siempre ofrecerá solo su clave "nueva".

Si anticipa tener que acceder a los repositorios de ambas cuentas de GitHub y no quiere tener que editar el archivo de configuración cada vez que quiera cambiar entre las cuentas de GitHub, entonces puede configurar su ~/.ssh/config esta manera:

Host clientname.github.com HostName github.com IdentityFile ~/.ssh/client_id_rsa # or wherever your "old" client key lives Host github.com IdentityFile ~/.ssh/id_rsa # or wherever your "new" key lives Host github.com *.github.com User git Hostname github.com IdentitiesOnly yes

Luego use URLs como github.com:GitHubAccount/repository para sus repositorios y URL como clientname.github.com:GitHubAccount/repository para los repositorios de su cliente (puede volver a poner el prefijo git@ si lo desea, pero no es necesario ya que las entradas anteriores establecen la variable de configuración del User ).

Ha pasado un tiempo desde que presioné algo para GitHub. Inicialmente configuré mi cuenta en mi computadora, y todo funcionó de maravilla. Luego cambié mi cuenta a la cuenta de un cliente (para poder enviar el código a su repositorio privado).

Ha pasado un tiempo y ahora estoy volviendo a mi cuenta anterior, y estoy teniendo problemas. Genere un nuevo rsa_key y seguí las instrucciones aquí a un T.

Sin embargo, cuando ssh -T [email protected] : ssh -T [email protected] obtengo:

Hola antiguo nombre de usuario incorrecto! Se ha autenticado con éxito, pero GitHub no proporciona acceso de shell.

Tampoco puedo presionar mis repositorios porque este nombre de usuario anterior no está autorizado. He verificado dos veces mis claves ssh en mi computadora y en la configuración de mi cuenta en GitHub.

También configuré las variables de mi cuenta global:

git config --global user.name "Firstname Lastname" git config --global user.email "[email protected]" git config --global github.user username git config --global github.token 0123456789yourf0123456789token

Y aún me está dando el nombre de usuario anterior.

¿Alguna sugerencia?

Gracias,