1) создадим ключи. Делаем от того пользователя, от которого будем работать, то есть не рута.
ssh_keygen -b 2048 -N '' -f ~/.ssh/bitbucket
cat >> ~/.ssh/config <<EOF
Host bitbucket.org
User git
IdentityFile ~/.ssh/bitbucket
EOF
chmod 0600 ~/.ssh/config
cat ~/.ssh/bitbucket.pub
2)
вывод - на битбакет (публичный ключ), раздел настройки (manage) - security - SSH keys - add key
User git - не меняем, так и должно быть, актуальный юзер указывается в пути.
Если надо сделать ключ для деплоя (только для чтения), то добавляется он в другое место - открываем репозиторий, слева внизу settings, там в Deployment keys придумываем имя ключа (оно же будет логином) и вставляем ключ, полученный выше.
3) проверка
ssh -T git@bitbucket.org
Если что-то не так, можно руками добавить после -T: -i (какой файл использовать)
Нормальный вывод:
authenticated via a deploy key.
You can use git or hg to connect to Bitbucket. Shell access is disabled.
This deploy key has read access to the following repositories:
и дальше список, куда можно логиниться. Смотрим интересующие нас репы и копируем/запоминаем первую часть до двоеточия (:), понадобится дальше.
4) Использование
git clone ssh://git@bitbucket.org/(тут пишем/вставляем нужную репу, выбранную выше)
хотя если в .ssh/config есть User git, то из клона можно убрать git@
Линки
https://confluence.atlassian.com/display/BITBUCKET/Add+an+SSH+key+to+an+account
https://confluence.atlassian.com/display/BITBUCKET/Set+up+SSH+for+Git
https://confluence.atlassian.com/display/BITBUCKET/Use+deployment+keys
http://jeka.by/post/1051/setup-ssh-keys-for-bitbucket-github/ - с картинками
хотя если в .ssh/config есть User git, то из клона можно убрать git@
Линки
https://confluence.atlassian.com/display/BITBUCKET/Add+an+SSH+key+to+an+account
https://confluence.atlassian.com/display/BITBUCKET/Set+up+SSH+for+Git
https://confluence.atlassian.com/display/BITBUCKET/Use+deployment+keys
http://jeka.by/post/1051/setup-ssh-keys-for-bitbucket-github/ - с картинками