Несколько учетных записей Bitbucket

У меня есть учетная запись Bitbucket для работы с 9 до 5, а также личная учетная запись Bitbucket. Моя цель - иметь возможность использовать оба на одном компьютере. Я установил последнюю версию git на компьютер с Windows 7.

Итак, в настоящее время все с моей учетной записью Bitbucket работает нормально, я могу без проблем тянуть / нажимать. Я создал новый ключ ssh с помощью ssh-keygen и назначил новое имя в моем случае "tech". Но у меня возникают проблемы с тем, как указать локальному репо использовать созданный мной новый ключ ssh. Я предполагаю, что каждый раз, когда я пытаюсь подключиться, он использует первый ключ ssh.

Я получаю сообщение об ошибке:

$ git push conq: доступ к репозиторию запрещен. фатальный: удаленный конец неожиданно повесил трубку

Я нашел несколько советов в Интернете, но, похоже, они относятся к настройке linux / git, например, я не могу найти файл «config» в Windows.


person TheWebGuy    schedule 18.11.2011    source источник
comment
Возможный дубликат нескольких учетных записей GitHub и конфигурации SSH   -  person MrTux    schedule 04.07.2016


Ответы (5)


Вы можете получить эту ошибку, если не добавили ключ в диспетчер ключей (ssh-agent). Сделать это:

ssh-add ~/.ssh/tech

Кстати, если у вас несколько учетных записей Bitbucket, вам понадобится уникальный ключ для каждой учетной записи. Вы не можете повторно использовать ключи.

person MoxieandMore    schedule 28.12.2011
comment
Это устранило мою проблему, шаг отсутствует в документации, где находится битбакет. Благодарю. - person ams; 11.03.2012

В этом сообщении блога описан простой способ добавления несколько ключей ssh ​​для одного компьютера и использовать один ключ ssh для каждой учетной записи bitbucket. Это намного яснее, чем официальная документация по битбакету. Обобщить:

Во-первых, убедитесь, что у вас есть учетная запись по умолчанию с помощью учебника, такого как этот на Github .

Для второго аккаунта:

  1. Создайте новый ключ ssh:

    ssh-keygen -f ~/.ssh/<your second account name> -C "<you email>"
    
  2. Добавьте ключ ssh:

    ssh-add ~/.ssh/<key file name> 
    
  3. Используйте pbcopy < ~/.ssh/<your second account name>.pub, чтобы скопировать открытый ключ и добавить этот ключ в свою учетную запись bitbucket (в области настроек)

(В Windows вы можете скопировать ключ ssh с помощью ssh-keygen -f ~/.ssh/<your account name> -c "<your email>" | clip или на Linux, вы можете следовать этим инструкциям.)

  1. Добавьте следующее в свой ~/.ssh/config файл. Первый устанавливает ключ по умолчанию для bitbucket.org. Второй устанавливает для вашего второго ключа псевдоним bitbucket-account2 для 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. Теперь вы можете клонировать проекты со своей учетной записью по умолчанию так же, как и раньше:

    git clone [email protected]:username/project.git
    
  3. Чтобы клонировать проект со вторым идентификатором, замените bitbucket.org Хостом, который вы указали в файле ~/.ssh/config (т.е. bitbucket-account2 выше):

    git clone git@bitbucket-account2:username/project.git
    

Вот и все!

person ZenBalance    schedule 11.02.2014
comment
Мне пришлось добавить ключ ssh с помощью следующей команды: ssh-add ~ / .ssh / ‹имя ключевого файла› - person Samik Bandyopadhyay; 27.07.2016
comment
Как указывает @SamikBandyopadhyay, в любой системе, использующей ssh-agent (например, Mac начиная с Leopard), вам также нужно будет добавить ключ к агенту с помощью ssh-add. Я обнаружил, что, не выполнив этого шага, ssh все еще использовал стандартный id_rsa для домена с псевдонимом, и даже при использовании параметра ssh -i для явного пути ко второму идентификатору. Очень запутанно! ssh-add немедленно исправил это. - person scipilot; 13.05.2017
comment
В Windows нет команды pbcopy, поэтому эта инструкция неполная. - person Stepan Yakovenko; 08.10.2017
comment
@StepanYakovenko обновлен, чтобы включить эквиваленты pbcopy для Windows и Linux. - person ZenBalance; 11.10.2017
comment
Этот ответ следует отметить как решение - действительно! - person Tomasz Kapłoński; 04.03.2018
comment
@SamikBandyopadhyay спасибо за предложение - добавил это к ответу. - person ZenBalance; 09.06.2020

Как уже говорилось, вам нужно сгенерировать свой pubkey только один раз - поскольку вы уже настроили BitBucket, где находится ваш id_rsa (или как вы его назвали) файл? В наших установках Windows он находится в домашнем каталоге пользователя в скрытой папке .ssh. Вы должны иметь возможность создать там config файл.

person Nic    schedule 18.11.2011

Вы должны сгенерировать пару открытого / закрытого ключей только один раз. Затем все хосты, у которых есть ваш открытый ключ, разрешают соединения от вас, если вы предоставите закрытый ключ.

person kan    schedule 18.11.2011
comment
Если у вас есть только одна пара открытого / закрытого ключей, вы не можете получить доступ к двум репозиториям на битбакете. Когда вы пытаетесь добавить свой открытый ключ ssh ко второму, он будет жаловаться, что этот ключ уже был добавлен в учетную запись. - person jononomo; 19.01.2013
comment
@JonCrowell Звучит странно. Я не использовал bitbucket, но github позволяет назначать один ключ нескольким репозиториям. Несколько клавиш имеют смысл для разных устройств. Например. один для ноутбука, другой для настольного компьютера. Если ваш ноутбук украден, вы можете отозвать его ключ, но продолжать пользоваться настольным компьютером. - person kan; 19.01.2013
comment
Я не думаю, что это должен быть принятый ответ, поскольку доступ к Bitbucket является обязательным требованием в вопросе. - person Andrew; 25.07.2013
comment
@Andrew Вам нужно создать только две личности (ключа), если у вас есть две разные учетные записи Bitbucket. Он сообщает, если у вас есть две учетные записи, в вопросе есть два репозитория, а не учетные записи. - person kan; 25.07.2013
comment
@kan - разве в вопросе не говорилось, что у меня есть учетная запись Bitbucket для работы с 9 до 5, и у меня также есть личная учетная запись Bitbucket. Моя цель - иметь возможность использовать и то, и другое на одном компьютере. Мне кажется, у него 2 аккаунта Bitbucket? - person Andrew; 30.07.2013
comment
@ Андрей Хм, похоже, ты прав. Однако странно, почему у него это работает, наверное, у него другие настройки. - person kan; 30.07.2013

Вы можете добавить свой корпоративный адрес электронной почты в свою личную учетную запись Bitbucket, На странице управления учетной записью Bitbucket:

введите описание изображения здесь

Вы можете войти в свою личную учетную запись электронной почты и получить доступ как к личным проектам, так и к проектам компании в одной учетной записи Bitbucket, которая использует только один закрытый ключ ssh.

person Cody    schedule 22.07.2014
comment
Неправильный! Вы получаете [email protected] is already in use by another user. - person Green; 31.05.2018