Ключ нужен для ssh авторизации между компьютерами.
Вы можете создать новый ключ SSH на локальном компьютере. После создания ключа вы можете добавить ключ в учетную запись GitHub.com(например), чтобы включить проверку подлинности для операций Git по протоколу SSH.
Шаг 1. Подготовка
Для начала перейдем в директорию где должны храниться ключи. В windows это /c/Users/YourUserName/.ssh/
cd ~/ && mkdir .ssh && cd .ssh
Шаг 2. Генерация ключа
Стандартная команда:
ssh-keygen -t rsa -b 4096 -C "your@email.com"
Новая команда, поддержка улучшенного шифрования:
$ ssh-keygen -t ed25519 -C "your@email.com"
После этого у нас появится 2 фала: id_rsa и id_rsa.pub
Первый ключ – приватный, его храним. Второй публичный, его отдаем сервису.
Шаг 3. Добавление ключа SSH в ssh-agent
В терминале пишем:
# start the ssh-agent in the background $ eval "$(ssh-agent -s)" > Agent pid 59566
$ ssh-add ~/.ssh/id_rsa
Шаг 4. Добавление ключа на сервис и проверка
Добавляем публичный ключ на сервис(сервер). Для этого копируем содержимое публичного ключа и вставляем куда надо.
Проверяем подключение:
$ ssh -T git@github.com
Получаем сообщение:
Hi user! You've successfully authenticated, but GitHub does not provide shell access.
Профит.
Шаг 5. Работа над ошибками
Если ваш ключ имеет нестандартное название id_rsa, то gitbash может плеваться ошибкой
MINGW64 /c/laravel $ ssh -T git@github.com git@github.com: Permission denied (publickey).
Решается это созданием файла конфига
config
в директории ssh
C:\Users\YourUserName\.ssh
Host github.com HostName github.com IdentityFile ~/.ssh/id_rsa User git Port 22
P.s.
Где id_rsa – название ключа. your@email.com – ваш email, YourUserName – Имя пользователя (Windows).