Невозможно добавить SSH-ключ в GitHub

В нашем GitHub около 20 репозиториев. Для сборки CI мы включили опцию опроса Git.

Наш мастер Jenkins подключил несколько узлов. Для Git Polling мы обычно добавляем наш Jenkins Master ssh-ключ в GitHub соответствующего пользователя в разделе настроек SSH-ключа. При добавлении ключа появляется ошибка: ключ уже используется. Дайте мне знать, чтобы добавить то же самое.

В соответствии с сообщением об ошибке для другой сборки репозитория мы уже добавили наш главный ключ Jenkins с другим пользователем. учетная запись.

Вы пробовали создать новый?

Shihe Zhang 07.07.2018 11:42

Нет, я не пробовал на сервере Jenkins Master. Итак, мне нужно сгенерировать новый ключ?

Kishore 07.07.2018 11:51
"DevOps: Jenkins & AWS Series, часть 5: Установка Gradle на Ubuntu 22.04
"DevOps: Jenkins & AWS Series, часть 5: Установка Gradle на Ubuntu 22.04
В этой статье блога мы проведем вас через процесс установки Gradle на Ubuntu 22.04, интеграции его с Jenkins и создания задания Gradle. Мы...
0
2
841
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Ключ SSH можно привязать только к одному пользователю на GitHub, поскольку он используется для аутентификации и авторизации этого пользователя. Невозможно добавить в несколько учетных записей.

GitHub предоставляет руководство по работе с ключами SSH для автоматических скриптов здесь: Управление ключами развертывания. Есть два интересных варианта:

Обычно вы используете развернуть ключи для получения доступа к репозиторию с сервера. Ключи развертывания имеют такое же ограничение, что и пользовательский SSH-ключ, и могут быть прикреплены только к одному репозиторию. Это снижает потенциальный ущерб, который может быть нанесен в случае взлома ключа. Для серверов сборки они часто не подходят, потому что часто невозможно настроить аутентификацию для каждого репозитория.

Для вашего случая использования пользователь машины кажется лучшим вариантом. Это выделенная учетная запись пользователя, которая используется только вашим сервером сборки. Обязательно используйте надежный пароль и двухфакторную аутентификацию для этой учетной записи и добавьте к ней главный ключ Jenkins. Затем вы можете добавить пользователя машины в качестве соавтора в нужные вам репозитории в Jenkins.

Что касается безопасности, будьте как можно более строгими: только те репозитории, которые требуются, и только с разрешениями на чтение. Это также причина, по которой вы должны использовать пользователя машины вместо фактической учетной записи. Для Jenkins вам (обычно) не нужен доступ на запись в репозиторий. Ограничивая права доступа для ключа сервера, снижается влияние взломанного ключа.

Хорошо, мистер Ждно, отличное предложение. Я попробую то же самое в понедельник, а затем сообщу вам. Спасибо.

Kishore 07.07.2018 16:14

Привет, Jdno, Спасибо за быструю поддержку. Развертывание ключа в конкретном методе репоистории также привело к той же ошибке (ключ уже используется). Однако метод пользователя компьютера работает отлично. Спасибо.

Kishore 09.07.2018 14:43

Другие вопросы по теме