Постачальник Bitbucket не пропонує (навіть у стандартних та преміальних тарифах, що базуються на платі ) можливості зберігати SSH-ключі з дозволами на запис на рівні сховища. Зберігання вашого особистого ключа SSH на робочому сервері не є можливим, інакше ви зможете отримати доступ до всіх інших проектів, над якими ви зараз працюєте. Існують так звані ключі доступу , але вони дозволяють лише права на читання.
Отже, якщо ви розробляєте проект локально, а потім інтегруєте це сховище на робочий сервер із доступом до запису, є два варіанти: або ви створюєте для цього власного користувача (для ліцензії та для 5 або більше користувачів), або можете використовувати його досить невідома переадресація агента SSH .
За допомогою цієї процедури ви можете повторно використовувати свій локальний ключ SSH на віддаленому сервері в поточному сеансі без необхідності постійно зберігати там ключ. Налаштування просте: спочатку ви переконаєтеся, що можете підключитися безпосередньо до віддаленого сервера та Bitbucket за допомогою ключа SSH. Потім ви запускаєте SSH-агент на локальній машині за допомогою eval `ssh-agent -s` і зберігаєте поточний ключ за допомогою ssh-add -k . Тепер, коли активовано переадресацію агента, ви підключаєтеся до віддаленого сервера через ssh -A ім’я користувача@host1 і потім можете отримати доступ до свого сховища Bitbucket без додаткового запиту пароля та без необхідності зберігати там ключ SSH віддаленого сервера.
Інша альтернатива — перейти до зовсім іншого постачальника: GitLab, наприклад, уже пропонує так звані ключі розгортання в безкоштовному плані на додаток до квоти в 10 ГБ (порівняно з 2 ГБ у Bitbucket) і необмеженої кількості членів команди. Це дозволяє зберігати будь-яку кількість додаткових ключів SSH (наприклад, з робочого сервера) окремо для кожного сховища, які надають права запису в сховище.