Skip to main content

Разброс pubkey по серверам | Авторизация в gitlab webrazrabotka.ru |

Добавление открытого ключа пользователя в наш gitlab и разброс по серверам через CI\CD раннер

  • Закрытый ключ (private key) сохраняем у пользователя в директории:
%HOMEPATH%/.ssh

И добавляем его, чтобы на него была ссылка в строке "Файл закрытого ключа"

Screenshot at Sep 13 11-47-47.png

Открытый ключ (public key) нужно занести в наш GitLab, в файл  authorized_keys одной строкой, в конце можно и нужно добавить произвольный комментарий для идентификации на каком пк и какому пользователю принадлежит ключ.

Пример: 

ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIM0nRkbG4LzXHGNNTCyklqDQ/yzLX1XSdva83ncF eddsa-key-20250424 WORK Matatov_V DESKTOP-T3SG4BN

Всё выделенное жирным шрифтом, через пробел после ключа считается комментарием.

Репозиторий приватный, по этому перед этим нужного пользователя сначала нужно добавить в репозиторий с соответствующими правами. 
Как выполнить авторизацию к git по ssh ключу много уроков на ютубе. 

Если все равно непонятно, можно попросить помощи разработчиков.

  • Авторизуемся в git через git bash here в контекстном меню:

    изображение.png

Если ключа нет генерируем его командой ssh-keygen -t ed25519 -C {Комментарий кому принадлежит ключ}
после этого нужно добавить открытую часть ключа в gitlab в настройках. Ключи лежат в %HOMEPATH%/.ssh

  • Инициализируем ssh агента командой:
    ssh-agent -s
  • Проверяем инициализацию командой:
     ssh-add -l
  • Добавляем свой ssh ключ командой:
    git ssh-add {путь до закрытого ключа}
  • Делаем гит клон репозитория "Send keys account":
git clone git@gitlab.com:Webrazrabotka/send-keys-accounts.git
  • Публичную часть ключа вставляем в файл authorized_keys, который потом разнесется по всем аккаунтам.


Screenshot at Sep 13 11-53-36.png

Screenshot at Sep 13 11-54-35.png

  • Пушим в ветку изменения командой:
git push git@gitlab.com:Webrazrabotka/send-keys-accounts.git

CI/CD в данном случае автоматически разносит ключ по всем аккаунтам которые выдает API.
В случае отсутствия массива аккаунтов смотреть в первую очередь API.