Всегда нужно обновлять ssh-ключи, работающие с Bitbucket с двух машин - PullRequest
0 голосов
/ 30 апреля 2018

У меня никогда не было проблем при работе с репозиториями, размещенными на Bitbucket, с использованием SSH-соединения с сгенерированной парой ключей. Но так как я обращаюсь к своим репозиториям с двух разных компьютеров (например, домашней машины, рабочей машины), я всегда получаю

Permission denied (publickey).fatal: Could not read from remote repository.

каждый раз, когда я переключаю машины. Так что мой текущий не очень хороший обходной путь - удалить мой текущий ключ с помощью

rm -r .ssh

(я просто использую один), а затем создайте новый, используя Sourcetree или Terminal. Затем я удаляю старый ключ для машины, которую я использую, из своей учетной записи Bitbucket и вставляю новый ключ.

Это работает с тех пор, но должно быть лучшее решение. Я просматривал документы по Bitbucket, но он просто говорит, что нужно добавить новый ключ для каждой машины, которая обращается к репозиториям и, очевидно, это не работает. Я уверен, что что-то упустил. Спасибо за любую помощь!

Ответы [ 3 ]

0 голосов
/ 01 мая 2018

Вы должны добавить ssh-ключи как с вашего домашнего компьютера, так и с рабочего компьютера в вашу учетную запись bitbucket.

Все шаги для добавления ключей ssh ​​в bitbucket, как показано ниже (вы можете пропустить шаги, которые вы уже сделали):

  1. Создание ключа SSH на домашней машине

    На вашем домашнем компьютере выполните команду ssh-keygen. И он сгенерирует ключ ssh на вашей локальной машине. Скопируйте содержимое открытого ключа id_rsa.pub, чтобы добавить его в bitbucket (как показано в шаге 2).

  2. Добавить ключ ssh с домашней машины в bitbucket

    На домашней странице bitbucket -> Настройки Bitbucket (https://bitbucket.org/account/user/username) -> SSH-ключи -> Добавить ключ -> вставьте содержимое id_rsa.pub (на шаге 1) в параметр ключа -> Добавить ключ.

    enter image description here

  3. Создание ключа SSH в рабочей машине

    В рабочей машине выполните команду ssh-keygen. И он сгенерирует ключ ssh на вашей локальной машине. Вставьте содержимое открытого ключа id_rsa.pub, чтобы добавить его в bitbucket (как показано на шаге 4).

  4. Добавить ключ SSH с рабочей машины в битовую корзину

    Нажмите кнопку Добавить в ключе SSH Hub битового сегмента, а затем вставьте значение id_rsa.pub (в шаге 3).

Теперь можно подключить bitbucket repo как к домашней машине, так и к рабочей машине.


Если вы по-прежнему не можете получить доступ к хранилищу битовых ключей с помощью ключа ssh, выполните поиск неисправностей с помощью команды ssh -T hg@bitbucket.org.

Подробности, вы можете сослаться на документ В доступе отказано (publickey) .

0 голосов
/ 11 мая 2018

Итак, вот ссылка на руководство о том, как решить эту проблему.

https://github.com/jirsbek/SSH-keys-in-macOS-Sierra-keychain

Как описано в комментариях, Apple изменила поведение SSH в Sierra / High Sierra. По этой теме существует проблема Sourcetree со статусом «решена» (https://jira.atlassian.com/browse/SRCTREE-4499),, поэтому Sourcetree добавляет ключи к .ssh/config с необходимыми флагами, начиная с 2.7.2, но все же это не работает для меня. Мне нужно было добавить ssh-add -A моим агентам запуска.

0 голосов
/ 30 апреля 2018

Убедитесь, что при добавлении 2-го ключа вы не влияете на 1-й ключ. https://confluence.atlassian.com/bitbucket/set-up-additional-ssh-keys-271943168.html

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

...