Підключення ключа SSH до Github є одним із ключових кроків у захисті вашого облікового запису. Це дозволяє використовувати силу криптографії з відкритим ключем для захисту ваших сховищ Git. Ця стаття покаже вам, що таке ключі SSH і як їх можна використовувати для посилення облікового запису Github.
Зміст
- Що таке ключі SSH?
- Генерація ключів SSH для Github
- Додавання ключів SSH до Github
- Керування ключами SSH
- Змінення існуючих ключів SSH
- Видалення ключів SSH з Github
Примітка: новачок у Git? Вчись у наш посібник із початку роботи.
Що таке ключі SSH?
По суті, ключі SSH — це відкриті ключі, які ви зберігаєте на віддаленому сервері. Вони діють як проксі-сервер автентифікації, який дозволяє підключатися та взаємодіяти з машинами без надання імені користувача та пароля.
Принцип роботи полягає в тому, що кожного разу, коли ви підключаєтесь до комп’ютера через SSH, ваш локальний комп’ютер надсилає повідомлення, підписане вашим особистим ключем SSH. Потім віддалена машина використовує ваш відкритий ключ SSH, щоб перевірити автентичність повідомлення та ввійти в систему.
Github використовує той самий підхід для перевірки вашої особи на своїх серверах. Веб-сайт використовує ваш відкритий ключ кожного разу, коли ви завантажуєте та змінюєте свій репозиторій. Це гарантує, що ви не розкриєте свої облікові дані Github під час натискання комітів.
Добре знати: Дізнайтеся більше про криптографію з відкритим ключем і те, як вона може захистити вашу онлайн-ідентичність встановлення GNU Kleopatra в Linux.
Генерація ключів SSH для Github
Для початку відкрийте новий термінальний сеанс за допомогою засобу запуску програм дистрибутива.
Переконайтеся, що ви встановили OpenSSH на своїй машині та демон агента SSH зараз запущено:
sudoaptinstallssheval`ssh-agent -s`
Виконайте таку команду, щоб запустити Генерація ключів SSH майстер:
ssh-keygen-t ed25519 -C"[email protected]"
Після цього майстер запитає вас, чи бажаєте ви використовувати для свого ключа спеціальну назву файлу ключів SSH. Прес Введіть щоб прийняти назву та розташування за замовчуванням.
Введіть пароль для нового ключа SSH. Це слугуватиме парольною фразою вашої локальної машини, коли вона підключатиметься до вашого облікового запису Github.
Примітка: Ви також можете залишити запит пароля порожнім, якщо хочете створити ключ SSH без пароля.
Додайте щойно створений ключ SSH до запущеного SSH-агента:
ssh-add ~/.ssh/id_ed25519
Добре знати: якщо ви новачок у Github, дізнайтеся деякі з найкращих програм, які ви повинні додати у свій репозиторій Github.
Додавання ключів SSH до Github
Завдяки новому ключу SSH ви можете зв’язати свою локальну машину з обліковим записом Github. Для початку виконайте таку команду, щоб надрукувати відкритий ключ SSH:
cat ~/.ssh/id_ed25519.pub
Виділіть відкритий ключ SSH, натисніть правою кнопкою миші та виберіть «Копіювати».
Відкрийте новий сеанс браузера, а потім перейдіть на свою домашню сторінку Github.
Натисніть значок свого профілю у верхньому правому куті сторінки.
У спадному списку натисніть «Налаштування».
Виберіть «Ключі SSH і GPG» на лівій бічній панелі сторінки налаштувань.
Натисніть кнопку «Новий ключ SSH» біля заголовка «Ключі SSH».
Виберіть текстове поле «Назва», а потім введіть назву свого ключа.
Натисніть текстове поле «Ключ», а потім натисніть Ctrl + В щоб вставити ваш ключ SSH.
Натисніть «Додати ключ SSH», щоб підтвердити нові налаштування.
Відкрийте новий термінальний сеанс і виконайте таку команду:
ssh-Tgit@github.com
Введіть «так», потім натисніть Введіть.
Це почне новий сеанс SSH на одному з приймальних серверів Github. Якщо ваш ключ працює належним чином, буде надруковано коротке повідомлення з підтвердженням підключення SSH.
Керування ключами SSH
Хоча для більшості користувачів достатньо одного ключа SSH, є випадки, коли потрібно синхронізувати репозиторій Git, який розміщено на кількох машинах. Для цього вам потрібно імпортувати ключі SSH для конкретної машини.
Відкрийте новий термінальний сеанс на комп’ютері, який потрібно зв’язати з Github.
Переконайтеся, що демон OpenSSH встановлено та працює в системі:
sudoaptinstallssheval`ssh-agent -s`
Виконайте таку команду, щоб створити окремий ключ SSH для вашої нової машини:
ssh-keygen-t ed25519 -f ~/.ssh/id-ed25519-pc2 -C"[email protected]"
Введіть безпечну парольну фразу для нового ключа SSH і натисніть Введіть.
Додайте новий альтернативний ключ до агента SSH:
ssh-add ~/.ssh/id-ed25519-pc2
Роздрукуйте вміст вашого відкритого ключа SSH, а потім скопіюйте його в буфер обміну вашої системи:
cat ~/.ssh/id-ed-25519-pc2
Поверніться на сторінку «Ключі SSH і GPG» свого облікового запису Github.
Ще раз натисніть кнопку «Новий ключ SSH».
Надайте унікальну мітку для нового ключа, а потім вставте вміст буфера обміну під текстове поле «Ключ».
Натисніть «Додати ключ SSH», щоб застосувати нові налаштування.
Перевірте, чи ваша нова машина використовує ваш безпечний ключ для підключення до Github, увійшовши через SSH:
ssh-Tgit@github.com
Змінення існуючих ключів SSH
Окрім надсилання щойно згенерованих ключів на Github, ви також можете змінити існуючі ключі SSH, які вже є у вашій машині. Це може бути корисним, якщо ви вже є використання ключів SSH як входу без пароля в Linux.
Щоб змінити існуючий ключ, перейдіть до каталогу «.ssh» вашого комп’ютера:
cd ~/.ssh
бігти ssh-keygen
з -p
, -o
і -f
разом із вашим ключем SSH. Це дозволить вам змінити пароль на наявному закритому ключі:
ssh-keygen-p-o-f ./id-ed25519
Примітка: Ви також можете використовувати ці позначки, щоб перетворити звичайний ключ SSH на ключ без пароля.
Ви також можете змінити вбудовану адресу електронної пошти у вашому відкритому ключі за допомогою -c
прапор:
ssh-keygen-c-C"[email protected]"-f ./id-ed25519
Перезавантажте агент SSH за допомогою щойно оновленого ключа:
ssh-add ~/.ssh/id-ed25519
Замініть відповідний відкритий ключ SSH зі свого профілю Github.
Видалення ключів SSH з Github
Відкрийте новий термінальний сеанс, а потім запустіть демон агента SSH:
eval`ssh-agent -s`
Виконайте таку команду, щоб видалити закритий ключ SSH у вашому комп’ютері:
ssh-add-d ~/.ssh/id-ed25519
Поверніться до категорії «Ключі SSH і GPG» свого облікового запису Github.
Прокрутіть список ключів SSH на цій сторінці, а потім натисніть «Видалити» на тому, який ви хочете видалити.
Натисніть «Я розумію, видалити цей ключ SSH».
Переконайтеся, що ваш старий ключ SSH тепер неактивний, розпочавши сеанс SSH на одному із серверів Github:
ssh-Tssh@github.com
Пов’язування ключа SSH для захисту вашого облікового запису Github — це лише перший крок у розумінні принципів роботи криптографії та шифрування з відкритим ключем. Дізнайтеся більше про шифрування даних у спокої, створивши зашифроване хмарне резервне копіювання за допомогою Rclone.
Тим часом ви також можете дізнатися більше про автоматичне керування репозиторієм за допомогою за допомогою хуків Git.
Кредит зображення: Роман Синкевич через Unsplash. Усі зміни та скріншоти від Ramces Red.
Підпишіться на нашу розсилку!
Наші найновіші навчальні посібники доставлені просто у вашу поштову скриньку