Настройка ssh для bitbucket

7 июня 2022 г. 15:49

Bitbucket - это второй по популярности после github сервис для размещения проектов под управлением систем контроля версий и, пожалуй, первый - в коммерческом секторе, поскольку в отличие от своего популярного собрата позволяет создавать неограниченное количество приватных репозиториев. И сейчас мы рассмотрим, как правильно настроить bitbucket для работы с хост-машиной (либо домашним пк) по ssh, поскольку без этого полноценное взаимодействие с вышеупомянутым сервисом просто невозможно.

Статья предполагает, что читатель знаком с интерфейсом bitbucket и терминалом своей операционной системы

Подготовка

Вы уже создали пустой репозиторий либо у вас есть существующий репозиторий на bitbucket.

Теперь склонируем его. Для этого на странице репозитория в верхнем правом углу жмакаем кнопку "Clone" и затем из всплывшего модального окна копируем предлагаемый нам сгенерированный однострочник:

вставляем его в терминал и жмем Enter. Таким образом ваш репозиторий будет склонирован в текущую директорию.

Далее в созданной директории добавляем ссылку на удаленный репозиторий с помощью следующей команды

git remote add bb git@bitbucket.org:имя_вашего_аккаунта_на_битбакет/название_репозитория.git

и проверяем успешность выполнения операции с помощью команды git remote -v. Должно получиться что-то в этом духе:

Следующий шаг: настройка самого ssh

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

Итак для начала выполним следующую команду в терминале:

ssh-keygen -t rsa -b 4096

Она сгенерирует нам открытый и закрытый ключи RSA:

Кстати использовать алгоритм RSA не обязательно. Достаточно выполнить команду ssh-keygen без параметров. При выполнении она может спросить, хотите ли вы указать путь для сохранения ключей, отличный от дефолтного (возможно, имеет смысл использовать отличный путь, если у вас слишком много ключей на одной машине):

Для использования этих ключей утилитой ssh запустим ssh-agent (если вы используете Windows, то лучше использовать альтернативный терминал, например, cygwin) и выполним следующие команды:

eval "$(ssh-agent -s)"
ssh-add /root/.ssh/id_rsa

Отлично. Теперь идем в настройки bitbicket:

Нажимаем кнопку Add key:

И в открывшееся поле вставлляем наш открытый ключ (содержимое файла в расширением .pub):

Получить содержимое публичного ключа на линукс можно с помощью обычного cat:

cat rsa.pub

Чтобы, убедиться, что все прошло хорошо и bitbucket откликается на наш ssh запрос подключения, выполним команду

ssh -T git@bitbucket.org

Если вы не уверены, что ключ добавился в список ключей ssh, вы можете проверить его так (особенно это актуально, если вы сохранили ключ не в директории .ssh):

ssh-add -l

Маленькие нюансы:

Если вы сохранить ssh-ключ по пути, отличному от дефолтного, то, возможно, каждый раз при перезапуске терминала он их не будет видеть (т.е. каждый раз необходимо их заново добавлять). Чтобы этого избежать

на ubuntu выполняем:

vi /etc/ssh/sshd_config

а на Windows

cd C:\Program Files\Git\etc\ssh

И открываем файл ssh_config. Для git bash он выглядит вот так:

Добавляем строку

IdentityFile C:\cygwin64\home\User\.ssh\bb\rsa

Если вы используете cygwin, то же самое проделываем с cygwin по пути "C:\cygwin64\etc\ssh_config"

Но будьте осторожны. Тогда у вас могут отвалиться ssh-ключи (если они есть) по дефолтному пути. Тогда их тоже нужно прописать

После всех этих манипуляций на linux необходимо перезагрузить сервис sshd:

systemctl restart sshd

На этом настройка ssh для взаимодействия с bitbucket завершена: теперь вы можете клонировать, пушить и пуллить ваши приватные репозитории.

Всем удачи и пока!

admin
1
(ваш голос учтен)