Генерація та додавання SSH ключа для підключення до віддаленого репозиторію на GitHub

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

   1. Можливість SSH підключення присутня на більшості серверах.
   2. З SSH легко працювати і налаштувати.
   3. Дає можливість і на запис, і на читання.
   4. Не потрібно постійно при запитах до центрального серверу вводити логін і пароль.
   5. Безпечне з`єднання по 22 порту запобігає можливість включення в сесію і перехоплення даних.
   6. Дані передаються в зашифрованому вигляді.
   7. Робить файли більш компактними ( стискає ) перед передачею.

До слова, хостинг-провайдер HyperHost надає SSH на VPS/VDS серверах і за запитом на тарифах віртуального хостингу.

Першим кроком потрібно згенерувати пару ключів. Це можна зробити командою:

ssh-keygen-t rsa -b 4096 -C “example@gmail.com”

Де example@gmail.com - це ваша електронна пошта. Обов`язково потрібно задати ту пошту, яку ви вказали при реєстрації на GitHub.

Після введення команди можна вибрати шлях збереження ключа або просто натиснути Enter, якщо хочете,щоб ключ зберігся в місці, вказаному за замовчуванням:

Також, для більшої надійності, можна ввести ключову фразу. У першому полі вводимо пароль, у другому-повторюємо туж фразу для її верифікації:

Наступним кроком потрібно додати згенеровані ключі в SSH-агент. Для цього потрібно спочатку запустити SSH-агент командою:

eval “$(ssh-agent -s)”

Після введення команди,в терміналі на виводі буде показаний id запущеного процесу.

Далі, як запустився агент,потрібно додати в нього згенеровані ключі командою:

ssh-add~/.ssh/id_rsa

Як бачимо на скрині, ключі успішно додалися, завжди звертайте увагу на вивід в консолі, це допоможе при виявленні помилок.

Наступним кроком потрібно скопіювати ключі і додати в віддалений репозиторій. Ключ можна знайти по шляху, який був вказаний на етапі генерації ключа:

Або ж ввести команду в терміналі і скопіювати ключ у буфер обміну:

clip < ~/.ssh/id_rsa.pub

Після чого заходимо в свій аккаунт на GitHub і виконуємо наступні дії, щоб додати ключ:

У графі Title вводимо назву для ключа (вказуєте яку самі бажаєте). І в графі Key додаємо сам публічний ключ і натискаємо Add SSH Key.

Якщо всі ці кроки зроблені успішно, ключ повинен з`явитися на репозиторії в графі SSH key. І як ідентифікатор коректного введення ключа, іконка ключа повинна світитися зеленим кольором.

Щоб клонувати репозиторій за допомогою SSH, копіюємо вміст поля:


І стандартно вводимо команду git clone і додаємо після неї скопійований вміст з поля:

Команда ГиперХост радить використовувати протокол SSH для надійності і зручності в роботі над вашими проектами.