Como usar multiples cuentas de GitHub (por https)


Es posible que algunos de vosotros tengais varias cuentas de GitHub (una personal, otra del trabajo, …) y por algún motivo querais acceder a ellas por https en vez de por ssh que es como muchos la tendreis 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 proximas 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 contrasela de la 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 querrer hacer un Push a un reposito 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 como quedarian las credenciales para un repositorio de cada una de las cuenetas 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 de que en este tutorial se esta dando una solución concreta para el acceso por HTTPS pero lo ideal sería configurar tus cuentas de GitHub mediante SSH.

Comparte esta entrada en:
Safe Creative #1401310112503
Como usar multiples cuentas de GitHub (por https) por "www.jarroba.com" esta bajo una licencia Creative Commons
Reconocimiento-NoComercial-CompartirIgual 3.0 Unported License.
Creado a partir de la obra en www.jarroba.com

2 thoughts on “Como usar multiples cuentas de GitHub (por https)”

  1. 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. 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 una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

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

Uso de cookies

Este sitio web utiliza cookies para que usted tenga la mejor experiencia de usuario. Si continúa navegando está dando su consentimiento para la aceptación de las mencionadas cookies y la aceptación de nuestra política de cookies

ACEPTAR
Aviso de cookies