SSH-доступ к серверу с использованием ключей (для Windows клиентов)

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

В данной статье описана процедура настройки, если подключение выполняется с компьютера с операционной системой Windows с использованием клиента PuTTY.

Для того чтобы настроить данный способ аутентификации, необходимо выполнить следующие шаги:

  • Скачайте и установите клиент PuTTY для вашей версии ОС

  • Создайте в домашней папке текущего пользователя Windows папку .ssh

Например, c:\Users\user\.ssh

  • Запустите утилиту puttygen, которая входит в комплект установки PuTTY

Microsoft Windows [Version 10.0.14393]
(c) Корпорация Майкрософт (Microsoft Corporation), 2016. Все права защищены.

C:\Users\user>puttygen

  • В окне утилиты нажмите кнопку Generate

login-ssh-rsa-windows.8

  • Далее нужно провести мышкой несколько случайных движений над окном утилиты для рандомизации генератора, пока ключ не будет сгенерирован

login-ssh-rsa-windows.10

  • Когда ключ будет сгенерирован, в окне нажмите кнопку Save private key

login-ssh-rsa-windows.12

  • Предложение сохранить файл без дополнительной защиты паролем можно подтвердить

login-ssh-rsa-windows.14

  • Сохраните файл в папку (созданную ранее) c:\Users\user\.ssh с именем id_rsa.ppk

login-ssh-rsa-windows.16

Внимание! Файл приватного ключа должен быть защищен от доступа посторонних лиц. Следите, чтобы этот файл не был скомпрометирован

Далее необходимо перенести содержимое публичного ключа в файл /root/.ssh/authrized_keys сервера на хостинге.

  • Для этого сначала скопируйте содержимое публичного ключа в буфер обмена
login-ssh-rsa-windows.19

  • Запустите утилиту PuTTY

Microsoft Windows [Version 10.0.19043.1165]
(c) Корпорация Майкрософт (Microsoft Corporation). Все права защищены.

C:\Users\user>putty

  • Введите IP адрес сервера на хостинге, логин root и пароль, который был получен при активации услуги

login-ssh-rsa-windows.23

Далее в консоли Windows сервера выполняем последовательно несколько команд:

  • Создаем папку ~/.ssh (если она не существует)

[root@server ~]# mkdir ~/.ssh

  • Назначаем права для папки

[root@server ~]# chmod 700 ~/.ssh/

Добавляем публичный ключ в файл ~/.ssh/authorized_keys, вставляя скопированное ранее в буфер обмена содержимое публичного ключа в аргумент команды echo (в кавычках)

[root@server ~]# echo "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCLLeYgfHbOb4u3aaFooFr6i+orBeHVIn3zBn2AnGVUu/e95su7o7M5O3Fs5bUkrevqaaZq39BvMpPRgBmL/D8C+ea27YP5zpz+Z2iQbjIS6zYI5S1j/9oKXo2tvW1A/nbciaRTXnxwXc0OLYIkzMZzJclUqz5fP5lnw2F4hsq9karkRd1Fs+T6JmVquarpsZqBS7jf4MooIdCST2NByQ3xM8EacWFZ0CzRG6iH0m6hFlOnFtEI9oHDIAA+i9pyHd9XgoRe9zw9KPaNBQBknisOjO2deCu1ymOTD9lfqHE" >>~/.ssh/authorized_keys

  • Применяем строгие права доступа к файлу

[root@server ~]# chmod 600 ~/.ssh/authorized_keys

  • Далее следует запустить на вашем компьютере утилиту pageant (PuTTY Authentication Agent) из комплекта установки PuTTY

Microsoft Windows [Version 10.0.14393]
(c) Корпорация Майкрософт (Microsoft Corporation), 2016. Все права защищены.

C:\Users\user>pageant

Значок запущенного агента PuTTY отобразится в системном трее.

  • Кликните на нем дважды и добавьте ранее созданный приватный ключ из файла c:\Users\user\.ssh\id_rsa.ppk
login-ssh-rsa-windows.36
login-ssh-rsa-windows.37

  • Если все прошло успешно, то на этом процедура подключения беспарольной SSH-аутентификации по ключу завершена. Вы можете запускать утилиту PuTTY. И пока в системном трее запущен агент с подключенным приватным ключом, вход на удаленный сервер на хостинге будет выполняться прозрачно без ввода пароля.

Для настройки SSH подключения для ОС Linux (MacOS) смотрите статью базы знаний