четверг, 29 декабря 2016 г.

Авторизация по ssh-ключу в Bitbucket

Аналогичная задача для GitHub описана тут: https://help.github.com/articles/testing-your-ssh-connection/

Задача: создать локальный репозиторий и пушить его в приватный репозиторий на Bitbucket.
В качестве примера покажу на примере конфигов для Ansible.

Ставим git и настраиваем пользователя:
# git config --global user.email "[email protected]"
# git config --global user.name "Vasya Pupkin"
# git config --global color.ui true

Идем в аккаунт Bitbucket и создаем репозиторий например с именем repoName.
Далее переходим в каталог проекта и указываем ему удаленный репозиторий:
# cd /etc/ansible
# git init
# git remote add origin [email protected]:userName/repoName.git

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

Генерируем пару ключей:
# ssh-keygen -t rsa -f /root/.ssh/bitbucket

Идем в профиль Bitbucket (https://bitbucket.org/account/user/userName/ssh-keys/) и добавляем SSH-ключ (содержимое файла /root/.ssh/bitbucket.pub)

Далее нужно в конфиге SSH указать, что по умолчанию к хосту bitbucket.org нужно подключаться не со стандартным ключом, а с нашим:
# vim /root/.ssh/config 
Host bitbucket.org
   IdentityFile /root/.ssh/bitbucket

Проверка соединения:
# ssh -T [email protected]
logged in as userName.
You can use git or hg to connect to Bitbucket. Shell access is disabled.

Пушим в удаленный репозиторий:
# git commit -am "test commit"
# git push -u origin master

Комментариев нет: