====== Github: керування SSH ключами ====== ===== Доступ до репозиторію (Deploy key) ===== В цьому випадку ми надаємо доступ серверу до GitHub. Для того щоб використовувати репозиторій на ПК або сервері, потрібно встановити відповідний публічний ключ на Github. 1. Генеруємо ключі (публічний та приватний), якщо їх ще немає або потрібні нові: ssh-keygen -t ed25519 -C "server-deploy" 2. Після виконання кроку №1, копієюмо публічний ключ: cat ~/.ssh/id_ed25519.pub 3. Йдем на GitHub у свій репозиторій, далі **Settings** -> **Deploy keys** -> **Add deploy key ** 4. Вставляємо новий ключ з зрозумілою назвою. Флаг ''Allow write access'' не ставимо, щоб сервер мав доступ лише на читання. 5. На сервері перевіряємо чи пускає нас Github за цим ключем: ssh -T git@github.com ===== Доступ до сервера для GitHub (Actions Secret Key) ===== В цьому випадку ми надаємо 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. Пеходимо в потрібний репозиторій --> **Settings** -> **Secrets and variables** -> **Actions --> New repository secret** 5. Створюємо новий секрет ''SSH_PRIVATE_KEY'' та вставляємо туди наш __приватний__ ключ Далі цей секрет ми можемо використовувати в пайплайні для підключення до сервера. Не забудьте також додати змінні ''SERVER_HOST'' та ''SERVER_USER'' з відповідними даними для входу.