web-dev-qa-db-fra.com

Comptes bitbucket multiples

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.

67
TheWebGuy

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.

50
MoxieandMore

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:

  1. Créez une nouvelle clé ssh:

    ssh-keygen -f ~/.ssh/<your second account name> -C "<you email>"
    
  2. 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.

  1. 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>
    
  2. 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
    
  3. 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!

102
ZenBalance

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.

0
Nic