Saltar al contenido

Cómo usar múltiples cuentas de GitHub (por https)

Cómo usar múltiples cuentas de GitHub por https

Ricardo Moya

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:

Llaveros_GitHub_1

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):

push_RicardoMoya

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:

  • Repositorio de la cuenta de RicardoMoya:

     

    github_cuenta_RicardoMoya

  • Repositorio de la cuenta de jarroba:

     

    github_cuenta_jarroba

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.

Ricardo Moya

Me dedico profesionalmente al Machine Learning y al Big Data. Me gusta aprender tecnologías nuevas y explicarlas de la mejor manera posible en esta web.

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.

17 May 2015

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.

29 Oct 2014

Comentarios (2)

  1. NOExpertrs

    Como configurar el GIT local para que maneje 2 cuentas de GitHub de forma simultanea.

    Comando para crear Clave SSH:
    ssh-keygen.exe

    Configuració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

  2. OSVALDO

    TITAN!!!!!!!!!!!!!!!!!!!!!! MUCHISIMAS GRACIAS!!!!!!!!!!!!!!!!!! ME RE SALVASTE!!!!!!!!!!!!!!!!!!!
    tengo otra consulta, como se pueden agregar llaves para distintas cuentas de email y distintas cuentas de github en la misma conpu, yo tengo mac y es un lio para mi.
    desde ya muchas gracias

Deja un comentario


Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.