Как создать ssh ключ

Зачем нужен ssh ключ?

Ключ нужен для ssh авторизации между компьютерами.
Вы можете создать новый ключ SSH на локальном компьютере. После создания ключа вы можете добавить ключ в учетную запись GitHub.com(например), чтобы включить проверку подлинности для операций Git по протоколу SSH.

Шаг 1. Подготовка

Для начала перейдем в директорию где должны храниться ключи. В windows это

/c/Users/YourUserName/.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

ssh directory

P.s.
Где id_rsa — название ключа. your@email.com — ваш email, YourUserName — Имя пользователя (Windows).

Join the ConversationLeave a reply

Your email address will not be published. Required fields are marked *

Comment*

Name*