Создание SSH-ключа, чтобы авторизироваться на сервере

В этом руководстве мы рассмотрим процесс создания ключа SSH в OS Linux и Windows. Этот ключ необходим для подключения к виртуальному серверу на базе Linux OS.

Как работает?
При соединении с каким-либо элементом веб-инфраструктуры обычно используются стандартные ключи — пароли. Авторизация с помощью SSH-keys проходит без введения пароля. Дело в том, что пароли чаще поддаются компрометированию, а ключи почти неуязвимы к краже.

Генерируется не один ключ, а пара — закрытый и открытый. Закрытый ключ хранится на элементе инфраструктуры, к которому производится подключение, а открытый ключ — у вас. В итоге, при соединении ключи совпадают по хэш-сумме. Защита обеспечивается посредством обработки ключей тем способом, который неизвестен третьему лицу.

Генерируем ключи OS Linux
Первым делом сгенерируйте пару зашифрованных ключей на машине, которая будет осуществлять подключение. 

ssh-keygen -t rsa 

Скрипт потребует от вас установить имя файла с ключами и кодовую сид-фразу. Двухфакторная авторизация нужна для обеспечения конфиденциальности ключей. Но при этом, каждое подключение требует повторного ввода сид-фразы.

На скриншоте видно, что ключи записались в директории. 

Генерируем ключи OS Windows
Установите программу PuttyGen. 

Выберите тип ключей «RSA». Значение Number of bits in generated key — 2048. Сгенерируйте (Generate). Key passphrase — кодовая фраза. Двухфакторная авторизация нужна для обеспечения конфиденциальности ключей. Но при этом, каждое подключение требует повторного ввода сид-фразы. Повторите кодовую фразу и сохраните ключи. 

Ключи и панель управления
В настройках есть пункт SSH-ключи, выберите «Добавить SSH-ключ». Затем установите имя для пары ключей и вы увидите поле, подписанное как «Код ключа». 

SSH соединение
При настройке сервера не забудьте включить опцию «Подключение с SSH-ключом»