Генерация SSH-ключей
Рассмотрим создание SSH-ключей в Linux и Windows для подключения к серверу под управлением ОС Linux.
Использование SSH-ключей не только позволяет подключаться к серверу без пароля, но и повышает уровень безопасности сервера. Причина проста - пароль можно подобрать, а вот на подбор ключа могут уйти десятилетия. Ключ состоит из двух частей - открытой и закрытой. Именно открытый ключ передается на сервер, а закрытый ключ остается на ПК клиента. Если вы опасаетесь за безопасность ключа, его можно защитить парольной фразой при генерации.
Создание ключей выполняется командой
ssh-keygen -t rsa
На что стоит обратить внимание.
OpenSSH поддерживает генерацию нескольких типов ключей:
- dsa
- ecdsa
- ed25519
- rsa
- rsa1
Последнее время, надежность DSA-ключей ставится под сомнение и рекомендуют использовать RSA-ключи.
Если отсутствует каталог “.ssh” в каталоге вашей учетной записи (это скрытый каталог), то он будет создан. Так было не всегда и возможно его придется создать вручную. passphrase - парольная фраза для защиты ключа. Если не желаете её задавать, тогда просто нажимаете Enter. Далее вводится подтверждение этой фразы, либо также Enter. В результате выполнения команды, будет показан слепок ключа и его псевдографическое изображение. Открытый ключ располагается по пути /home/administrator/.ssh/id_rsa.pub. Закрытый - /home/administrator/.ssh/id_rsa.
Рассмотрим создание ключа через утилиту PuTTY-Gen.
Скачаем ее с официального сайта, выбрав соответствующую разрядность своей операционной системы (не серверной).
Запускаем программу.
В открывшемся окне проверяем значение переключателя “Type of key to generate”, должно быть RSA, кликаем по кнопке Generate.
В обновленном окне программа нас просит выполнять случайные движения мышью в пустом поле программы. Таким образом программа получит случайные данные и создаст ключи.
Должен получиться примерно такой результат:
Копируем текст открытого ключа из поля “Public key for pasting into OpenSSH authorized_keys file:” временно в любой текстовый файл. Сохраняем закрытый ключ нажав соответствующую кнопку. При необходимости указываем парольную фразу.
Открытый ключ должен начинаться с ssh-rsa.
Добавление ключа.
Для успешного подключения к серверу следует прописать полученный открытый ключ в файл authorized_keys расположенном на сервере по пути:
/home/<имя_пользователя>/.ssh
В данном случае, имя пользователя administrator.
В *nix-подобный операционных системах экспорт открытого ключа на сервер выполняется командой:
cat ~/.ssh/id_dsa.pub | ssh -l remonet_user_name 10.10.0.1 "cat >> .ssh/authorized_keys"
remote_user_name - имя пользователя на удаленном сервере, под которым и будет происходить дальнейшее подключение.
10.10.0.1 - адрес сервера, в нашем случае, взят для примера. После выполнения команды, потребуется ввести пароль и более этого делать не придется., при попытках подключения с этого ПК.