J'ai un compte Bitbucket pour mon travail 9-5 et j'ai également un compte Bitbucket personnel. Mon objectif est de pouvoir utiliser les deux sur le même ordinateur. J'ai installé le dernier git sur un PC Windows 7.
Donc, actuellement, tout avec le compte Bitbucket de mon entreprise fonctionne bien, je peux tirer/pousser sans problème. J'ai créé une nouvelle clé ssh en utilisant ssh-keygen et assigné un nouveau nom dans mon cas "tech". Mais j'ai des problèmes sur la façon de dire à un référentiel local d'utiliser la nouvelle clé ssh que j'ai créée. Je suppose que chaque fois que j'essaie de me connecter, il utilise la première clé ssh.
Je reçois l'erreur:
$ git Push conq: accès au référentiel refusé. fatal: l'extrémité distante a raccroché de façon inattendue
J'ai trouvé quelques conseils sur Internet mais cela semble concerner une configuration linux/git, par exemple je ne trouve pas le fichier "config" sur Windows.
Vous pouvez obtenir cette erreur si vous n'avez pas ajouté la clé au gestionnaire de clés (ssh-agent). Pour faire ça:
ssh-add ~/.ssh/tech
BTW, si vous avez plusieurs comptes Bitbucket, vous aurez besoin d'une clé unique pour chaque compte. IOW, vous ne pouvez pas réutiliser les clés.
Ce billet de blog décrit un moyen simple d'ajouter plusieurs clés ssh à un seul ordinateur et d'utiliser une clé ssh par compte bitbucket. C'est beaucoup plus clair que le documentation officielle de bitbucket . Résumer:
Tout d'abord, assurez-vous d'avoir une configuration de compte par défaut via un tutoriel comme celui-ci sur Github .
Pour le deuxième compte:
Créez une nouvelle clé ssh:
ssh-keygen -f ~/.ssh/<your second account name> -C "<you email>"
Utilisation pbcopy < ~/.ssh/<your second account name>.pub
pour copier la clé publique et ajouter cette clé à votre compte bitbucket (dans la zone des paramètres)
(Sous Windows, vous pouvez copier la clé ssh à l'aide de ssh-keygen -f ~/.ssh/<your account name> -c "<your email>" | clip
ou sur Linux, vous pouvez suivre ces instructions.
Ajoutez ce qui suit à votre ~/.ssh/config
fichier. Le premier définit la clé par défaut pour bitbucket.org. Le second définit votre deuxième clé sur un alias bitbucket-account2
pour 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>
Vous pouvez désormais cloner des projets avec votre compte par défaut de la même manière qu'auparavant:
git clone [email protected]:username/project.git
Pour cloner un projet avec la deuxième identité, remplacez bitbucket.org par l'hôte que vous avez spécifié dans le ~/.ssh/config
fichier (c'est-à-dire bitbucket-account2
au dessus):
git clone git@bitbucket-account2:username/project.git
C'est ça!
Comme indiqué, vous n'avez besoin de générer votre clé de pub qu'une seule fois - puisque vous êtes déjà configuré avec BitBucket, où est votre id_rsa
(ou ce que vous avez nommé le vôtre)? Sur nos installations Windows, il se trouve sous le répertoire personnel de l'utilisateur dans le dossier caché .ssh
. Vous devriez pouvoir y créer un fichier config
.