Cómo usar múltiples cuentas de GitHub (por https)
Cómo usar múltiples cuentas de GitHub por https
Es posible que algunos de vosotros tengáis varias cuentas de GitHub (una personal, otra del trabajo, …) y por algún motivo queráis acceder a ellas por https en vez de por ssh que es como muchos la tendréis configurada.
Cuando uno quiere hacer un "Push" y accede a GitHub por https te pide la primera vez que insertes el usuario y contraseña de la cuenta y una vez que los has insertado te suele guardar en el llavero de tu PC las credenciales de ese acceso para que las próximas veces no tengas que volver a insertar tu usuario y contraseña. En la siguiente imagen vemos como me guarda en el llavero de mi PC el usuario y contraseña de las cuentas de GitHub de Jarroba; es decir, me guarda la contraseña para acceder a la web de https://github.com:
Por otro lado tengo creada otra cuenta de GitHub personal (con usuario RicardoMoya) y al querer hacer un Push a un repositorio me dice que tengo el acceso denegado y me devuelve un 403 (Prohibido):
En este caso me prohibe el acceso porque en el llavero de claves tengo guardadas las credenciales (Usuario = jarroba + Password) de la cuenta de Jarroba y no de la mia, por tanto coge las credenciales de la "ubicación: https://github.com".
Para solucionar esto, tengo que configurar mi git para que me genere una ubicación distinta por cada repositorio (independientemente de si accedo con mi cuenta personal o con la de Jarroba). De esta forma solo me pedirá el usuario y la contraseña la primera vez que haga un "Push" en un repositorio. Veamos como configurarlo:
En primer lugar vamos a configurar el fichero de configuración de git. Para ello ejecutemos el siguiente comando:
git config --global --edit
Al ejecutar este comando nos abrirá el fichero de configuración de nuestro git y pondremos las credenciales de cada una de las cuentas de git que tengamos (en este caso dos cuentas). Por otro lado indicaremos el uso del "osxkeychain" para el cacheo de las credenciales (vamos para que nos recuerde el usuario y password) y que nos la guarde por la URL que le indicamos en cada credencial; es decir, una URL por proyecto:
[credential]
helper = osxkeychain
useHttpPath = true
[credential "https://github.com/RicardoMoya"]
username = RicardoMoya
[credential "https://github.com/jarroba"]
username = jarroba
Con estas credenciales nos generará en el llavero de claves un item por cada repositorio, por lo que solo habrá que insertar la primera vez que hagamos un «Push» el usuario y el password de la cuenta de GitHub donde tengamos el repositorio. Veamos cómo quedarían las credenciales para un repositorio de cada una de las cuentas configuradas:
De esta forma hemos visto como al acceder a una cuenta de GitHub por HTTPS nos genera una credencial que la guarda por defecto en el llavero de claves de nuestro PC y que sino configuramos nuestro git de forma correcta nos cogerá una credencial incorrecta si accedemos a una cuenta de GitHub distinta de la primera, por tanto una solución a este problema es la que se plantea en este tutorial. Bien es cierto que en este tutorial se está dando una solución concreta para el acceso por HTTPS pero lo ideal sería configurar tus cuentas de GitHub mediante SSH.
«Cómo usar múltiples cuentas de GitHub (por https)», de Ricardo Moya en jarroba.com, con licencia Creative Commons Reconocimiento-NoComercial-CompartirIgual 3.0. Obra registrada en Safe Creative.

Te puede interesar
Arquitectura Android – ART vs Dalvik
Explicación de la arquitectura Android técnica y fácil. Comparación entre ART vs DALVIK. Contenido APK. Compilación AOT y JIT. Diferencia de Odex y Deodex.
Libro Android 100% Gratis
Libro de Android 100% gratis para aprender todo lo que se necesita saber sobre Android. Explicado de una manera amena y con cientos de imágenes.
Comentarios (2)
-
Como configurar el GIT local para que maneje 2 cuentas de GitHub de forma simultanea.
Comando para crear Clave SSH:
ssh-keygen.exeConfiguración de archivo config:
Ruta: C\Users\XXXX\.SSH
# Github Personal
Host github.com
HostName github.com
User git
IdentityFile ~/.ssh/id_rsa_github
# Github work
Host github.com-work
HostName github.com
User git
IdentityFile ~/.ssh/id_rsa_github_work






Deja un comentario