Как да генерирате ssh ключ за GitHub и как да го качите в GitHub?

18.08.2020 131 0

Какво е SSH ключ?

SSH ключът е просто решение за вход. Когато посещавате уебсайт или хранилище в този случай, трябва да се идентифицирате. Това обикновено се случва с потребителско име и парола. Но има алтернативен начин. Можете да се идентифицирате с SSH ключ. Това е идентификационен номер за достъп и е криптиран за допълнителна сигурност. Комбинация е от частен и публичен ключ.

Какво е Github?

GitHub е услуга за хранилище. Разработчиците го използват за съхранение и администриране на техния код. Има добри функции за управление, следене и сътрудничество. Много е важно да запазите копие на работния код, но и да го актуализирате по безопасен начин. С Git можете да контролирате версията на софтуера си, без да се губите.
В случай, че кодът ви е “отворен“, можете да го съхранявате в GitHub безплатно.

Как да генерирате SSH ключ?

Генерирането на SSH ключ е лесно и бързо, но има малка разлика в зависимост от вашата ОС.

Windows

Отворете предварително записания Git Bash на вашия компютър. Може да го изтеглите от тук.
Поставете текста в него и сменете имейла с вашия.

$ ssh-keygen -t rsa -b 4096 -C "your_email@example.com"

Ще използва пощата като етикет, за създаването на SSH ключа.
> Generating public/private rsa key pair.
Ще получите съобщение “Enter a file in which to save the key,“. Натиснете Enter и ще се запише в локацията по подразбиране (c/Users/you/.ssh/id_rsa)).
> Enter a file in which to save the key (/c/Users/you/.ssh/id_rsa):[Press enter]
След това ще изскочи съобщение за ключова фраза, напишете я.
> Enter passphrase (empty for no passphrase): [Type a passphrase]
> Enter same passphrase again: [Type passphrase again]

Ако искате да добавите SSH ключа към ssh-agent, следвайте тези стъпки:

Инсталирайте GitHub Desktop, ако все още го нямате (https://desktop.github.com/). По-късно може да го използвате, за да клонирате хранилища и да премахнете нуждата да се занимавате с SSH ключове.
Първо, уверете се, че ssh-agent работи. Може да го стартирате с тази команда:
# start the ssh-agent in the background

$ eval $(ssh-agent -s)

> Agent pid 59566
Сега добавете личния SSH ключ в ssh-agent. Ако ключа ви има друго име от основното default id_rsa, сменете го в долната линия:

$ ssh-add ~/.ssh/id_rsa

Сега отидете на „как да качим в GitHub“ и следвайте стъпките там.

MacOS

Първо отворете Терминал.
Поставете текста, като смените имейла с вашия за GitHub:

$ ssh-keygen -t rsa -b 4096 -C your_email@example.com

Ще използва имейла ви за генерирането на новия SSH ключ.
> Generating public/private rsa key pair.
Когато видите “Enter a file in which to save the key”, натиснете Enter.
> Enter a file in which to save the key (/Users/you/.ssh/id_rsa): [Press enter]
Следващото съобщение ще е за ключовата фраза, напишете я.
> Enter passphrase (empty for no passphrase): [Type a passphrase]
> Enter same passphrase again: [Type passphrase again]

Сега, за добавянето му към ssh-agent, ползвайте основната команда от MacOS (ssh-add).
Стартирайте агента във фонов режим:

$ eval "$(ssh-agent -s)"

> Agent pid 59566
Ще трябва да редактирате ~/.ssh/config, за да се отварят автоматично ключовете в агента и да пази ключовите фрази в keychain. Проверете първо дали ~/.ssh/config е в основната директория:

$ open ~/.ssh/config

> The file /Users/you/.ssh/config does not exist.
Ако пише, че не съществува, ще трябва да го създадете:

$ touch ~/.ssh/config

Сега го отворете и редактирайте, замествайки ~/.ssh/id_rsa, ако сте ползвали друга локация или име за ключа.
Host *
AddKeysToAgent yes
UseKeychain yes
IdentityFile ~/.ssh/id_rsa

Сега добавете личния ключ SSH в ssh-agent и ключовата фраза в keychain. Ако ключът има друго име, променете го в командата:

$ ssh-add -K ~/.ssh/id_rsa

Оттук следвайте инструкции за качване в GitHub.

Linux

Трябва да отворим Терминал.
Там да поставим текста и да сменим имейла с нашия за GitHub:

$ ssh-keygen -t rsa -b 4096 -C your_email@example.com

Ще се генерира ключ, който ползва имейла за етикет.
> Generating public/private rsa key pair.
После ще получите съобщение “Enter a file in which to save the key” и трябва да натиснете Enter, за да запишете в основната директория.
> Enter a file in which to save the key (/home/you/.ssh/id_rsa): [Press enter]
Следва ключовата фраза.
> Enter passphrase (empty for no passphrase): [Type a passphrase]
> Enter same passphrase again: [Type passphrase again]

Сега, когато вече имаме ключа, да го добавим към ssh-agent.
Стартирайте агента с:

$ eval "$(ssh-agent -s)"

> Agent pid 59566
Добавете ключа в него. Ако сте ползвали друго име за него, преименувайте в командата:
$ ssh-add ~/.ssh/id_rsa
Готово! Следват стъпките за качване на сайта.

Как да качим SSH ключ на GitHub?

Интерфейсът на GitHub е лесен за разбиране. Това са инструкциите за качване на SSH ключ и поставянето му правилно.

Windows

Копирайте SSH ключа с тази команда. Ако сте сменили името, сменете го в кода:

$ clip < ~/.ssh/id_rsa.pub

# Copies the contents of the id_rsa.pub file to your clipboard
Може и ръчно да издирите файла в компютъра си, да го отворите с Notepad, и копирайте текста.
На страницата на GitHub, намерете SETTINGS в горния десен ъгъл, и го отворете.
След това потърсете SSH and GPG keys и го кликнете.
Натиснете New SSH key. Изберете заглавие, което ще ви помогне за идентификация на компютъра, и поставете ключа в Key field.
Натиснете Add SSH key и след това ще ви поиска парола. Напишете я и готово!

MacOS

Копирайте SSH ключа. Може да го намерите в компютъра си или да ползвате следната команда:

$ pbcopy < ~/.ssh/id_rsa.pub

# Copies the contents of the id_rsa.pub file to your clipboard
Влезте в страницата на GitHub и намерете SETTINGS горе вдясно.
В SETTINGS намерете SSH and GPG keys и го кликнете.
Следва да цъкнете на бутона New SSH key.
Изберете заглавие, което ще ви помогне за идентификация на компютъра и в полето Key field поставете ключа.
Натиснете зеления бутон Add SSH key и когато изскочи надписът за парола, напишете я. Готови сте!

Linux

Първо копираме ключа. Може да отворите файла от папката му и да го копирате или да ползвате командата:

$ sudo apt-get install xclip

# Downloads and installs xclip. If you don’t have `apt-get`, you might need to use another installer (like `yum`)

$ xclip -sel clip < ~/.ssh/id_rsa.pub

# Copies the contents of the id_rsa.pub file to your clipboard
На сайта на GitHub горе вдясно има SETTINGS.
Вътре намерете SSH and GPG keys.
Кликнете New SSH key и напишете адекватно заглавие. Долу в Key field, поставете SSH ключа.
Когато сте готови, долу на страницата има бутон “Add SSH key”, натиснете го. Ще ви изисква парола. След паролата сте готови!

Sources:
https://docs.github.com/en/github/authenticating-to-github/generating-a-new-ssh-key-and-adding-it-to-the-ssh-agent

https://docs.github.com/en/github/authenticating-to-github/adding-a-new-ssh-key-to-your-github-account

Вашият коментар

Вашият имейл адрес няма да бъде публикуван.