Bitbucket: Diferentes cuentas y misma clave SSH

Abril 14, 2016

El escenario habitual es que tengamos una sola cuenta de Bitbucket con nuestra clave SSH asociada a ella, pero puede sernos útil tener una segunda cuenta para otro tipo de proyectos.

El problema es que Bitbucket no permite añadir la misma clave SSH a dos usuarios diferentes.

bitbucket_ssh_key

El error que nos devuelve es: “Someone has already registered that SSH key“.

Voy a suponer que aún no hemos añadido las claves SSH a nuestras cuentas en Bitbucket. Para este ejemplo, la primera cuenta será usuarioA y la segunda, usuarioB.

Primero debemos crear una clave SSH con el comando ssh-keygen:

ssh-keygen -t rsa -C "email@email.com"

Copiamos la clave generada que se encuentra en ~/.ssh/id_rsa.pub y la damos de alta en la cuenta del usuarioA en Bitbucket.

Ahora vamos a generar una nueva clave para el usuarioB:

ssh-keygen -t rsa -f ~/.ssh/usuarioB -C "email@email.com"

Lo que hacemos con el parámetro “-f ~/.ssh/usuarioB” es indicar el archivo donde guardar la nueva clave SSH (en este ejemplo, el archivo se llamará usuarioB).
Copiamos la clave que se ha creado en el archivo ~/.ssh/usuarioB.pub y la asociamos a la cuenta del usuarioB en Bitbucket.

Para poder utilizar múltiples claves SSH, tenemos que crear un archivo ~/.ssh/config con un contenido similar a este:

Host bitbucket.org
  User git
  Hostname bitbucket.org
  PreferredAuthentications publickey
  IdentityFile ~/.ssh/id_rsa
 
Host bitbucket-usuarioB
  User git
  Hostname bitbucket.org
  PreferredAuthentications publickey
  IdentitiesOnly yes
  IdentityFile ~/.ssh/usuarioB

Con esta configuración, podemos clonar repositorios del usuarioA de la forma habitual:

git clone git@bitbucket.org:usuarioA/proyecto.git

Si ahora queremos clonar un repositorio del usuarioB, utilizaremos la segunda clave SSH que hemos generado para este usuario:

git clone git@bitbucket-usuarioB:usuarioB/proyecto.git

Podríamos ampliar esta configuración para tener una clave SSH para cualquier cuenta que tengamos (Github, Bitbucket, etc.).

CompartirTweet about this on TwitterShare on TumblrShare on FacebookShare on LinkedInShare on Google+Email this to someone

Tags ; , , , ,

Escribe un comentario

Los comentarios son moderados y se utiliza rel="nofollow" para los enlaces.