Problème de clés SSH si vous avez plusieurs comptes Bitbucket

GITSi vous utilisez plusieurs comptes Bitbucket.org sur le même ordinateur, vous avez remarqué qu’il n’est pas possible d’utiliser une même clé SSH pour vos requêtes pull & push.

Confronté à ce problème j’ai cherché une solution et comme d’habitude Internet est venu à mon secours. Il se trouve que le programme SSH propose la possibilité d’utiliser des clés SSH spécifiques en spécifiant des alias de serveurs. Tout cela se passe dans le fichier .ssh/config

Création d’une clé spécifique

Créer une clé dans un fichier :

ssh-keygen -f ~/.ssh/macleSSH -C "macleSSH"

Connectez vous sur votre compte Bitbucket.org et ajouter le contenue du fichier macleSSH.pub dans Personal Settings / SSH Keys

Création d’une configuration SSH spécifique

Editer le fichier .ssh/config et ajouter une section :

Host mongit
HostName bitbucket.org
IdentityFile ~/.ssh/macleSSH

Ensuite pour vos requêtes git il est possible d’utiliser l’alias définit dans le fichier config (mongit dans l’exemple) au lieu du nom d’hôte. Ainsi c’est la clé macleSSH qui sera envoyé et non la clé par défaut :

git clone git@mongit:GIT_ACCOUNT/REPONAME .

Cette configuration permet d’utiliser les commandes GIT dans un terminal.

Si vous devez utiliser Git via un éditeur de code qui sait gérer Git il y a des manipulations complémentaires.

Configuration de Netbeans

Netbeans est un éditeur de code multiplateforme (Linux, MacOS et Windows) qui utilise Java. Dans cet éditeur la config de Git est un peu spéciale.

Depuis Netbeans lors de la première commande Git un fenêtre de configuration du remote s’affiche. Au lieu d’utiliser le remote par défaut (celui qui est définit dans votre dépôt) il faut indiquer :

https://ACCOUNT@bitbucket.org/ACCOUNT/REPO.git

Remplacez ACCOUNT par le nom de votre compte Bitbucket.org

Il faudra également préciser les informations de connexion : nom d’utilisateur et mot de passe (la clé SSH n’est pas utilisée dans cette configuration).

Pas de Commentaire

Qu'en pensez-vous ?

Votre formulaire contient des erreurs, merci de corriger.