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

Deja un comentario

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

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