2014-09-15 3 views
1

Возможно, я что-то делаю неправильно, но это, похоже, имеет место для каждой установки jenkins, которую я видел. Создавая новую Дженкинс работу, и добавить задачу сценария оболочки, я могуКлючи Jenkins ssh доступны для аутентифицированных пользователей

cat ~/.ssh/id_rsa 

И, конечно, увидеть ключ в журнале вывода.

Я использую private github repos для кода хоста для сборки, поэтому мне нужен какой-то способ аутентификации. Ключ также разрешается совершать, так как мы освобождаемся от дженкинсов.

Есть ли способ смягчить способность пользователей jenkins просматривать мои ключи, не нарушая или не ограничивая разработчиков слишком много?

+0

Зачем вам нужно кошку * закрытый * ssh ключ в работе Дженкинса? – VonC

+0

Вы прочитали вопрос? Где я говорю, мне НУЖНО? Аполы для шапок. – Jepper

+0

Правильно, вы имеете в виду: как я могу помешать кому-либо определить задание, которое откроет закрытый ключ? – VonC

ответ

0

Одним из способов снижения риска является:

  • не используя ключи SSH
  • использование довольно dedicated token (что проще отменить)
  • магазин, лексема в нетрадиционном пути, известен только из сценариев, требующих аутентификации, а не из любых заданий Дженкинса.
+0

Я мог бы предложить команде здесь использовать аутентификацию на основе пароля для учетной записи github Jenkins, чтобы мы могли избавиться от открытой пары ключей. В целом, я думаю, ваши предложения отличные. – Jepper

+0

Будет ли сборник дженкинсов, плагин envinject и токенов? – Jepper

+0

@ Jepper это может иметь смысл, это не слишком сложно, чтобы положить на место. – VonC

0

Я разработал, как это сделать: Используйте плагин управления-ssh-credentials + ssh-agent. Зашифруйте закрытый ключ и вставьте его в пользовательский интерфейс учетных данных ssh. Теперь он доступен для всех рабочих мест. Если вам нужно выполнить сценарии оболочки с помощью ssh, необходимый ключ можно загрузить из плагина ssh-agent внутри задания.

Смежные вопросы