Як захистити доступ до Github за допомогою ключа SSH

Admin

Фотографія талісмана Github перед веб-сторінкою Github.

Підключення ключа SSH до Github є одним із ключових кроків у захисті вашого облікового запису. Це дозволяє використовувати силу криптографії з відкритим ключем для захисту ваших сховищ Git. Ця стаття покаже вам, що таке ключі SSH і як їх можна використовувати для посилення облікового запису Github.

Зміст

  • Що таке ключі SSH?
  • Генерація ключів SSH для Github
  • Додавання ключів SSH до Github
  • Керування ключами SSH
  • Змінення існуючих ключів SSH
  • Видалення ключів SSH з Github

Примітка: новачок у Git? Вчись у наш посібник із початку роботи.

Що таке ключі SSH?

По суті, ключі 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.

Введіть пароль для нового ключа SSH. Це слугуватиме парольною фразою вашої локальної машини, коли вона підключатиметься до вашого облікового запису Github.

Термінал із запитом пароля для нового ключа SSH.

Примітка: Ви також можете залишити запит пароля порожнім, якщо хочете створити ключ SSH без пароля.

Додайте щойно створений ключ SSH до запущеного SSH-агента:

ssh-add ~/.ssh/id_ed25519

Добре знати: якщо ви новачок у Github, дізнайтеся деякі з найкращих програм, які ви повинні додати у свій репозиторій Github.

Додавання ключів SSH до Github

Завдяки новому ключу SSH ви можете зв’язати свою локальну машину з обліковим записом Github. Для початку виконайте таку команду, щоб надрукувати відкритий ключ SSH:

cat ~/.ssh/id_ed25519.pub

Виділіть відкритий ключ SSH, натисніть правою кнопкою миші та виберіть «Копіювати».

Термінал, який показує опцію Копіювати в контекстному меню.

Відкрийте новий сеанс браузера, а потім перейдіть на свою домашню сторінку Github.

Натисніть значок свого профілю у верхньому правому куті сторінки.

Скріншот домашньої сторінки Github за умовчанням.

У спадному списку натисніть «Налаштування».

Знімок екрана, на якому виділено параметр «Налаштування» в меню профілю Github.

Виберіть «Ключі SSH і GPG» на лівій бічній панелі сторінки налаштувань.

Знімок екрана, на якому виділено опцію ключів SSH і GPG у меню налаштувань Github.

Натисніть кнопку «Новий ключ SSH» біля заголовка «Ключі SSH».

Знімок екрана, на якому виділено кнопку «Новий ключ SSH» на сторінці ключів SSH і GPG.

Виберіть текстове поле «Назва», а потім введіть назву свого ключа.

Натисніть текстове поле «Ключ», а потім натисніть Ctrl + В щоб вставити ваш ключ SSH.

Натисніть «Додати ключ SSH», щоб підтвердити нові налаштування.

Ключ Ssh для безпечного доступу до Github 09 Додати кнопку ключа Ssh

Відкрийте новий термінальний сеанс і виконайте таку команду:

ssh-Tgit@github.com

Введіть «так», потім натисніть Введіть.

Термінал із підказкою щодо довіри відбитку SSH.

Це почне новий сеанс SSH на одному з приймальних серверів Github. Якщо ваш ключ працює належним чином, буде надруковано коротке повідомлення з підтвердженням підключення SSH.

Термінал із підсвічуванням короткого повідомлення підтвердження від Github.

Керування ключами 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».

Надайте унікальну мітку для нового ключа, а потім вставте вміст буфера обміну під текстове поле «Ключ».

Знімок екрана, на якому показано новий альтернативний ключ у Github.

Натисніть «Додати ключ 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 з Github

Відкрийте новий термінальний сеанс, а потім запустіть демон агента SSH:

eval`ssh-agent -s`

Виконайте таку команду, щоб видалити закритий ключ SSH у вашому комп’ютері:

ssh-add-d ~/.ssh/id-ed25519

Поверніться до категорії «Ключі SSH і GPG» свого облікового запису Github.

Прокрутіть список ключів SSH на цій сторінці, а потім натисніть «Видалити» на тому, який ви хочете видалити.

Знімок екрана, на якому виділено кнопку «Видалити» для щойно зміненого ключа SSH.

Натисніть «Я розумію, видалити цей ключ SSH».

Знімок екрана, на якому показано останній запит на підтвердження видалення ключа SSH.

Переконайтеся, що ваш старий ключ SSH тепер неактивний, розпочавши сеанс SSH на одному із серверів Github:

ssh-Tssh@github.com

Пов’язування ключа SSH для захисту вашого облікового запису Github — це лише перший крок у розумінні принципів роботи криптографії та шифрування з відкритим ключем. Дізнайтеся більше про шифрування даних у спокої, створивши зашифроване хмарне резервне копіювання за допомогою Rclone.

Тим часом ви також можете дізнатися більше про автоматичне керування репозиторієм за допомогою за допомогою хуків Git.

Кредит зображення: Роман Синкевич через Unsplash. Усі зміни та скріншоти від Ramces Red.

Підпишіться на нашу розсилку!

Наші найновіші навчальні посібники доставлені просто у вашу поштову скриньку

5 менш відомих дистрибутивів на основі Ubuntu, про які ви не чули
5 менш відомих дистрибутивів на основі Ubuntu, про які ви не чули

Ubuntu, безперечно, є найпопулярнішим дистрибутивом Linux. Він простий у використанні для початкі...

Як отримати нову функцію веб -програми в Ubuntu Precise
Як отримати нову функцію веб -програми в Ubuntu Precise

Серед кількох інших функцій, які з'являться в майбутньому Ubuntu 12.10, Web App є цікавою. Ця фун...

3 чудові програми Ubuntu для слайд -шоу шпалер
3 чудові програми Ubuntu для слайд -шоу шпалер

Ubuntu постачається з набором попередньо завантажених шпалер, які можна використовувати окремо аб...