Провайдер 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 (например, с рабочего сервера) может храниться в каждом репозитории, что дает доступ на запись в репозиторий.