Битбакет и SSH ключи

Поставщик Bitbucket (даже в платных тарифах Standard и Premium) не предлагает возможность хранить SSH-ключи с правами записи на уровне репозитория. Хранение вашего личного ключа SSH на рабочем сервере не вариант, так как в противном случае вы можете получить доступ ко всем другим проектам, над которыми вы сейчас работаете. Есть так называемые ключи доступа , но они разрешают только чтение.


Если вы разрабатываете локально в проекте, а затем интегрируете этот репозиторий на производственном сервере с доступом для записи, есть два варианта: либо вы создаете своего собственного пользователя (для лицензирования и за плату от 5 пользователей), либо используете его довольно неизвестная пересылка агента SSH .

С помощью этой процедуры вы можете повторно использовать ваш локальный ключ SSH на удаленном сервере в текущем сеансе без необходимости постоянного хранения ключа там. Настройка проста: во-первых, убедитесь, что вы можете напрямую подключиться как к удаленному серверу, так и к Bitbucket, используя свой ключ SSH. Затем запустите агент SSH на локальном компьютере с помощью eval `ssh-agent -s` и сохраните текущий ключ с помощью ssh-add -k . Теперь вы соединяетесь с активированной переадресацией агента на удаленный сервер через ssh -A username @ host1, а затем можете получить доступ к вашему хранилищу Bitbucket без дальнейшего запроса пароля, не сохраняя там ключ SSH удаленного сервера.

Другой альтернативой является переключение на совершенно другого провайдера: например, GitLab уже предлагает бесплатную квоту 10 ГБ (по сравнению с 2 ГБ для Bitbucket), неограниченное количество членов команды и так называемые ключи развертывания . Это означает, что вы можете хранить столько дополнительных ключей SSH (например, с рабочего сервера), сколько вам нужно для каждого репозитория, которые предоставляют доступ для записи в репозиторий.

Назад