tag remove crear git github ssh-keys

remove - git push tag



Cómo trabajar con múltiples claves ssh (1)

Esta pregunta ya tiene una respuesta aquí:

Usuarios de GitHub,

Soy novato en github y tengo algún problema con la configuración de git. Tengo 2 cuentas con diferentes usuarios en github y tengo setup git en mi sistema 2 veces

Primera carpeta /.ssh (como siempre) (contiene id_rsa que se copió en la primera cuenta)
Segunda carpeta /.ssh/new (contiene id_rsa que se copió en la segunda cuenta)

ahora, en el momento del push, ¿cómo puedo cambiar entre la clave ssh?

Porque si me gustaría presionar para la segunda cuenta, usará la tecla .ssh en lugar de .ssh / new y me dará un error.

Por favor, hazme corregir si se me entiende algo mal aquí.

Gracias.


(He votado a favor de cerrar esto como posible duplicado, pero también podría agregar una respuesta similar).

Al usar el transporte SSH, GitHub lo identifica como un usuario basado en la clave SSH que utiliza para autenticarse. Por lo tanto, debe asegurarse de que git esté utilizando una clave SSH para un repositorio y otra para el otro.

Voy a suponer que:

  1. Tiene una cuenta de GitHub llamada user1 y ha agregado a esa cuenta la clave pública correspondiente a su clave privada local /home/whoever/.ssh/id_rsa . Digamos que el repositorio que le interesa acceder como user1 es user1/whatever en GitHub.
  2. Tiene una segunda cuenta de GitHub llamada user2 y ha agregado a esa cuenta la clave pública correspondiente a su clave privada local /home/whoever/.ssh/new/id_rsa . Digamos que el repositorio que le interesa acceder como user2 es user2/whatever en GitHub.

La forma más simple de hacer frente a esto es crear un nuevo "remoto" (es decir, un apodo para un repositorio remoto) para cada repositorio, donde el nombre de host está en la URL de cada control remoto es realmente un alias que ha configurado en ~/.ssh/config . (Si ese archivo de configuración no existe, tendrá que crearlo).

Por ejemplo, una entrada en el archivo ~/.ssh/config podría verse así:

Host github-as-user1 HostName github.com User git IdentityFile /home/whoever/.ssh/id_rsa

Luego puede agregar un control remoto llamado gh-user1 , por ejemplo, con:

git remote add gh-user1 git@github-as-user1:user1/whatever.git

... y luego si desea enviar su rama master al repositorio user1/whatever en GitHub usando la tecla ~/.ssh/id_rsa , puede hacer lo siguiente:

git push gh-user1 master

Para empujar como el otro usuario ( user2 ) al segundo repositorio, necesita agregar un segundo alias a su archivo ~/.ssh/config . Por ejemplo:

Host gh-as-user2 HostName github.com User git IdentityFile /home/whoever/.ssh/new/id_rsa

Luego, para ingresar a ese segundo repositorio como el usuario diferente, puede hacer lo siguiente:

git push gh-user2 master