Работа с SSH ключами

Что такое SSH ключи

SSH ключи (пара: приватный и публичный) применяются для доступа к серверам вместо пароля.

По надёжности это самый предпочтительный способ коннекта к удалённому серверу, поэтому важно правильно сгенерировать ключ и надёжно его хранить.

Как сгенерировать SSH ключ

Ключ генерируется командой ssh-keygen.

Если вызвать без параметров, то сгенерируется ключ с настройками по умолчанию, но можно его немного натюнинговать.

-b — длина ключа в битах. Сегодня рекомендуют ставить 4096, а всё что меньше считается небезопасным

-t — тип шифрования. Сегодня рекомендуют или rsa, или ed25519

Итого получим команды (на выбор):

ssh-keygen -t ed25519
ssh-keygen -t rsa -b 4096

При генерации можно ввести пароль, или оставить пустым.

Как результат генерации получаем два файла (суффикс в именах может отличаться в зависимости от выбранного алгоритма):

id_rsa — это ПРИВАТНЫЙ ключ. Его необходимо беречь и никому не показывать

id_rsa.pub — это публичный ключ. Именно его необходимо копировать на сервер или в ГИТ.

Добавление ключа на сервер

Способ 1. На сервере в папке пользователя которому добавляется доступ по ключу есть файл ~/.ssh/authorized_keys. Можно вручную записать в него публичный ключ.

Способ 2. Если известен пароль пользователя, можно выполнить (локально) команду ssh-copy-id.

ssh-copy-id user@host

Добавление ключа в GIT

На сервере ГИТ в настройках пользователя обычно есть раздел с SSH ключами, в него и нужно добавить публичный ключ.

После этого репозитории станут доступны по SSH.

Как правило это серверо-независимая настройка и во всех популярных сервисах она есть.

Изменение пароля для SSH ключа

Для изменения пароля у ключа применяется флаг -p.

ssh-keygen -p

Можно также указать файл ключа для изменения пароля при помощи ключа -f.

ssh-keygen -p -f ~/.ssh/yourkey

Работа в Win

Описанные способы работают не только в Linux, но и в Win: в Powershell и WSL

Ключ ED25519 короче RSA — это плохо?

Если верить найденному в интернете, то нет. Алгоритм ED25519 надёжнее RSA.

Подробности по ссылке: https://security.stackexchange.com/questions/101044/is-it-bad-that-my-ed25519-key-is-so-short-compared-to-a-rsa-key