2011-11-18 33 views
50

Tengo una cuenta de Bitbucket para mi trabajo de 9-5 y también tengo una cuenta personal de Bitbucket. Mi objetivo es poder usar ambos en la misma computadora. He instalado el último git en una PC con Windows 7.Cuentas de bitbucket múltiples

Actualmente todo con mi cuenta Bitbucket de empresas funciona bien, puedo tirar/empujar sin problemas. Creé una nueva clave ssh usando ssh-keygen y le asigné un nuevo nombre en mi caso "tecnología". Pero estoy teniendo problemas sobre cómo decirle a un repositorio local que use la nueva clave ssh que creé. Supongo que cada vez que intento conectarme, uso la primera clave ssh.

me sale el error:

$ git push Conq: acceso al repositorio negado. fatal: el extremo remoto colgó inesperadamente

Encontré algunos consejos en Internet pero parece estar relacionado con una configuración de linux/git, por ejemplo, no puedo encontrar el archivo "config" en Windows.

+0

Posible duplicado de [Múltiples cuentas de GitHub y configuración SSH] (http://stackoverflow.com/questions/3225862/multiple-github-accounts-ssh-config) – MrTux

Respuesta

40

Puede obtener este error si no ha agregado la clave al administrador de claves (ssh-agent). Para hacer esto:

ssh-add ~/.ssh/tech 

Por cierto, si tiene varias cuentas de Bitbucket, necesitará una clave única para cada cuenta. IOW, no puedes reutilizar las llaves.

+4

Eso solucionó mi problema, el paso falta en la documentación que se encuentra en el bitbucket. Gracias. – ams

0

Debe generar el par de claves públicas/privadas solo una vez. Entonces, todos los hosts que tienen su clave pública permiten conexiones de usted si proporciona la clave privada.

+2

Si solo tiene un par de claves pública/privada, entonces no puedes acceder a dos repositorios en bitbucket. Cuando intente agregar su clave pública ssh a la segunda, se quejará de que esa clave ya se haya agregado a una cuenta. – jononomo

+0

@JonCrowell Suena extraño. No he usado bitbucket, pero github permite asignar una clave a varios repositorios. Varias teclas tienen sentido para diferentes dispositivos. P.ej. uno para computadora portátil, otro para escritorio. Si le roban su computadora portátil, puede revocarla pero continuar usando el escritorio. – kan

+1

No creo que esta debería ser la respuesta aceptada ya que acceder a Bitbucket es un requisito en la pregunta. – Andrew

0

Como se indicó, solo necesita generar su publicación pública una vez, dado que ya está configurado con BitBucket, ¿dónde está su archivo id_rsa (o como quiera que llame el suyo)? En nuestras instalaciones de Windows, está bajo el directorio de inicio del usuario en la carpeta oculta .ssh. Debería poder crear un archivo config allí.

75

This blog post describe una forma sencilla de agregar varias claves ssh a una sola computadora y usar una clave ssh por cada cuenta de bitbucket. Es mucho más claro que el official bitbucket documentation. Para resumir:

Primero, asegúrese de tener una configuración de cuenta predeterminada mediante un tutorial como this one on Github.

para la segunda cuenta:

  1. Crear una nueva clave ssh:

    ssh-keygen -f ~/.ssh/<your second account name> -C "<you email>" 
    
  2. Uso pbcopy < ~/.ssh/<your second account name>.pub para copiar la clave pública y añadir esta clave a su cuenta bitbucket (en el área de ajustes)

(En Windows puede copiar la clave ssh usando ssh-keygen -f ~/.ssh/<your account name> -c "<your email>" | clip o en Linux you can follow these instructions.

  1. Añadir lo siguiente a su archivo ~/.ssh/config. El primero establece la clave predeterminada para bitbucket.org. El segundo establece su segunda clave a un alias bitbucket-account2 para bitbucket.org:

    Host bitbucket.org 
        Hostname bitbucket.org 
        IdentityFile ~/.ssh/id_rsa 
    
    Host bitbucket-account2 
        Hostname bitbucket.org 
        PreferredAuthentications publickey 
        IdentityFile ~/.ssh/<your second account name> 
    
  2. ahora se puede clonar proyectos con su cuenta predeterminada de la misma manera que antes:

    git clone [email protected]:username/project.git 
    
  3. para clonar un proyecto con la segunda identidad, reemplace bitbucket.org con el anfitrión que que ha especificado en el archivo ~/.ssh/config (es decir, por encima de bitbucket-account2):

    git clone [email protected]:username/project.git 
    

¡Eso es todo!

+0

Esto funcionó perfectamente. ¡Gracias! –

+0

gran opción para administrar dos cuentas –

+2

Tuve que agregar la clave ssh con el siguiente comando: ssh-add ~/.ssh/

0

Puede añadir su empresa de correo electrónico en su cuenta bitbucket personal, en la cuenta de bitbucket administrar la página:

enter image description here

Puede entrar en su cuenta personal de correo electrónico, y acceder a ambos proyectos personales y de empresa proyectos en un solo bitbucket cuenta, que está utilizando solo una clave privada ssh.

Cuestiones relacionadas