4 votos

¿Cómo tener 2 accesos SSH de Github?

Tengo una cuenta personal ericpersonal y una cuenta de empresa ericcompanyabc (me obligaron a hacerlo aunque podían haber añadido mi cuenta personal de GitHub a sus repos) en github.com.
Estoy usando un ordenador que me da la empresa y paso más tiempo en proyectos de trabajo por lo que estoy principalmente conectado como ericcompanyabc

Entonces generé 2 claves privadas y públicas como resultado:

 ls -lrt ~/.ssh
total 72
-rw-------  1 eric.nguyen  eric.nguyen   110 Aug 31 11:03 authorized_keys.jcorig
-rw-r--r--  1 eric.nguyen  eric.nguyen  2004 Sep 13 14:16 known_hosts
lrwxr-xr-x  1 eric.nguyen  eric.nguyen    76 Sep 25 21:53 ssh_auth_sock -> /var/folders/c3/q4dw0_q90lj6_nysk_hjt8p00000gn/T//ssh-31QAwZUf1Pmz/agent.501
-rw-------  1 eric.nguyen  eric.nguyen   743 Oct 26 16:02 id_rsa2.pub
-rw-------  1 eric.nguyen  eric.nguyen  3243 Oct 26 16:02 id_rsa2
-rw-r--r--  1 eric.nguyen  eric.nguyen   746 Oct 27 16:29 id_rsa1.pub
-rw-------  1 eric.nguyen  eric.nguyen  3243 Oct 27 16:29 id_rsa1
-rw-r--r--  1 eric.nguyen  eric.nguyen   279 Oct 27 16:29 config
-rw-------  1 eric.nguyen  eric.nguyen   225 Nov  3 17:57 authorized_keys

Tengo que cambiar entre las 2 cuentas usando los siguientes comandos pero es muy tedioso:

eval "$(ssh-agent -s)"
ssh-add ~/.ssh/id_rsa1

También he probado a utilizar .ssh/config archivo pero sin éxito

 cat ~/.ssh/config 
Host githubcompany
    HostName github.com
    User git
    PreferredAuthentications publickey
    IdentityFile ~/.ssh/id_rsa1
    UseKeychain yes

Host githuberic
    HostName github.com
    User git
    PreferredAuthentications publickey
    IdentityFile ~/.ssh/id_rsa2
    AddKeysToAgent yes
    UseKeychain yes

¿Qué puedo hacer para que el cambio entre cuentas de Github sea fluido?

Estoy usando MacOS Sierra 10.12.6

2voto

ericn Puntos 128

La solución sencilla para mí es no cambiar nunca de identidad, para no tener que automatizar el cambio de las variables de entorno y los archivos que proporcionan la identidad al shell:

  1. Configura GitHub SSH para tu cuenta de GitHub del trabajo, por ejemplo ericcompanyabc .
  2. A continuación, en mis repositorios personales de GitHub, simplemente añado ericcompanyabc como colaborador . Voilà, ahora puedo empujar a mis proyectos personales (como ericcompanyabc en el ordenador de la empresa) sin tener que cambiar de cuenta de GitHub de un lado a otro.

(concesión ericpersonal el acceso a los repos de trabajo es imposible aquí, por supuesto)

AppleAyuda.com

AppleAyuda es una comunidad de usuarios de los productos de Apple en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X