viernes, 28 de febrero de 2014

Configurar multiples claves ssh

En algunas ocasiones necesitamos usar diferentes cuentas de git para manipular los repositorios, por ejemplo tenemos una cuenta de la empresa y por ende usamos la cuenta de la empresa pero tenemos algún proyecto personal y queremos manejarlo con nuestra cuenta personal.

Cuando esto sucede podemos llegar a tener problemas porque git dice que no se tiene permisos para ver tal o cual repositorio.

¿Cómo podemos solucionarlo?

Una de las opciones es configurar diferentes cuentas ssh y darle alias a los urls para que pueda distinguir que cuenta usar, para lo cual debemos seguir los siguientes pasos:

  1. Crear la clave
    ssh-keygen -t rsa -C "aquí@el_email.com"
  2. Agregar las claves al agente ssh
    ssh-add ~/.ssh/id_rsa_oficina
    ~/.ssh/id_rsa_personal
  3. Crear el archivo de configuración de shh
    cd ~/.ssh
    touch config
    chmod 0600
  4. Agregar las definiciones de alias y autenticación
    #Oficina
    Host github.com-oficina #Este es el alias
        HostName github.com
        User git
        IdentityFile ~/.ssh/id_rsa_oficina #Recuerda usar el path absoluto
    
    #Personal
    Host github.com-personal
        HostName github.com
        User git
        IdentityFile ~/.ssh/id_rsa_personal
  5. Al clonar el proyecto en lugar de usar github.com user el alias
    git clone git@github.com-oficina:oficina/repo.git
  6. Si ya tenías clonado el proyecto simplemente cambia el url del mismo
    git remote set-url origin git://git@githb.com-oficina:oficina/repo.git

No hay comentarios.:

Publicar un comentario