Bitbucket: использование RSA-авторизации по ключу

Автор: | 05/06/2015
 

bitbucket-logoЧто бы не вводить каждый раз пароль при работе с Bitbucket – он позволяет использовать авторизацию по RSA-ключу.

Предполагается, что OpenSSH установлен (на Windows он устанавливается вместе с Git).

Генерируем ключ:

D:Temp>ssh-keygen -t rsa
Generating public/private rsa key pair.
Enter file in which to save the key (//.ssh/id_rsa): D:KeysMyBitbucketsetevoy.priv
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in D:KeysMyBitbucketsetevoy.priv.
Your public key has been saved in D:KeysMyBitbucketsetevoy.priv.pub.
...

Получаем содержимое public-части:

D:Temp>type D:KeysMyBitbucketsetevoy.priv.pub.
ssh-rsa AAAAB3NzaC1yc***9BCnHFOh0Rs1hoA59gn user@PC

Переходим в веб-интерфейс Bitbucket – Manage Account > SSH keys:

bitbucket_ssh_1

Жмём Add key:

bitbucket_ssh_2

Добавляем приватный ключ в настройки SSH – редактируем (или создаём, если файла нет) файл $HOME/.ssh/config (или C:UsersUsername.sshconfig для Windows), в котором указываем:

Host bitbucket.org
 IdentityFile D:KeysMyBitbucketsetevoy.priv

Сохраняем, закрываем.

Если репозиторий уже имеется на локальной машине, и был склонирован по HTTPS – редактируем файл .git/config репозитория, и меняем:

[remote "origin"]
	url = https://bitbucket.org/username/testrepo
	fetch = +refs/heads/*:refs/remotes/origin/*

На:

[remote "origin"]
	url = [email protected]:username/testrepo.git
	fetch = +refs/heads/*:refs/remotes/origin/*

Сохраняем, проверяем:

D:Temptestrepo>git pull
Already up-to-date.

Готово.