devops:git:github_sshkeys

Github: керування SSH ключами

В цьому випадку ми надаємо доступ серверу до GitHub.

Для того щоб використовувати репозиторій на ПК або сервері, потрібно встановити відповідний публічний ключ на Github.

1. Генеруємо ключі (публічний та приватний), якщо їх ще немає або потрібні нові:

ssh-keygen -t ed25519 -C "server-deploy"

2. Після виконання кроку №1, копієюмо публічний ключ:

cat ~/.ssh/id_ed25519.pub

3. Йдем на GitHub у свій репозиторій, далі SettingsDeploy keysAdd deploy key

4. Вставляємо новий ключ з зрозумілою назвою. Флаг Allow write access не ставимо, щоб сервер мав доступ лише на читання.

5. На сервері перевіряємо чи пускає нас Github за цим ключем:

ssh -T [email protected]

В цьому випадку ми надаємо GtiHub доступ до сервера. Наприклад для налаштування GitHub Actions. Нам потрібно додати приватний ключ на Github, а публічний ключ, який ми згенеруємо на сервері, додати у список авторизованих на цьому ж сервері.

1. Генеруємо нову пару ключів (або використовуємо попередні)

ssh-keygen -t ed25519 -C "server-deploy"

2. Додаємо публчний ключ у список авторизованих для юзера який буде працювати з проектом (наприклад root)

cat ~/.ssh/id_ed25519.pub>> ~/.ssh/authorized_keys

Виставляємо потрібні дозволи:

chmod 600 ~/.ssh/authorized_keys
chmod 700 ~/.ssh

3. Передаємо приватний ключ у GitHub Actions. Для початку копіюємо його:

cat ~/.ssh/id_ed25519

4. Пеходимо в потрібний репозиторій –> SettingsSecrets and variablesActions –> New repository secret

5. Створюємо новий секрет SSH_PRIVATE_KEY та вставляємо туди наш приватний ключ

Далі цей секрет ми можемо використовувати в пайплайні для підключення до сервера. Не забудьте також додати змінні SERVER_HOST та SERVER_USER з відповідними даними для входу.

  • devops/git/github_sshkeys.txt
  • Востаннє змінено: 25/05/2026 17:16
  • повз osvex