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