Настройка SSH-подключений в Windows для удаленного доступа к серверу
Введение
В этом руководстве вы узнаете, как установить SSH-соединение с удаленным сервером с компьютера под управлением Windows. Мы рассмотрим процесс настройки поддержки SSH в Windows, генерации SSH-ключей, управления ключами и настройки автоматической аутентификации.
Предварительные требования
Прежде чем начать, убедитесь, что у вас есть следующее:
- Локальный компьютер с Windows 10/11
- Удаленный сервер с публичным IP-адресом
Шаг 1 — Получение поддержки SSH в Windows
Чтобы установить SSH-соединение, необходимо убедиться, что ваш компьютер с Windows поддерживает SSH. В зависимости от версии Windows вы можете выбрать один из следующих вариантов:
Вариант 1 — Использование Windows PowerShell
Этот вариант позволяет использовать базовые SSH-команды без установки дополнительного программного обеспечения. Работает в Windows 10 версии 1709 и новее.
-
Проверьте версию Windows, открыв Windows PowerShell и выполнив команду:
Get-ComputerInfo | select OsName, OSDisplayVersion, OsBuildNumber -
Если у вас Windows 10 версии 1709 или новее, вы можете использовать PowerShell для SSH. Если клиент OpenSSH не установлен, вы можете установить его следующим образом:
- Найдите "Дополнительные компоненты" в строке поиска Windows.
- В разделе "Установленные компоненты" найдите "Клиент OpenSSH". Если он недоступен, выберите "+ Добавить компонент" и установите "Клиент OpenSSH".
-
После того как у вас будет правильная версия PowerShell и установлен клиент OpenSSH, откройте PowerShell и используйте команду SSH для подключения к серверу:
ssh root@<add your IP here>Замените
<на IP-адрес вашего сервера.add your IP here> -
Если появится предупреждение о подлинности хоста, вы можете ввести "yes", чтобы продолжить.
Вариант 2 — Установка подсистемы Linux
Этот вариант позволяет установить дистрибутив WSL (Подсистема Windows для Linux), что дает возможность запускать команды Linux на вашем компьютере с Windows. Работает в Windows 10 версии 1607 и новее.
-
Включите Подсистему Windows для Linux (WSL), найдя в строке поиска Windows "Включение или отключение компонентов Windows". Включите "Платформа виртуальной машины" и "Подсистема Windows для Linux". Затем нажмите "OK" и перезагрузите компьютер.
-
Установите дистрибутив Linux через Microsoft Store или PowerShell:
-
Через Microsoft Store: Найдите предпочитаемый дистрибутив Linux (например, "Ubuntu") в Microsoft Store и установите его.
-
Через PowerShell: Выведите список доступных дистрибутивов Linux и установите один на выбор:
wsl --list --online # Список доступных дистрибутивов Linux wsl --install <distribution> # Установить дистрибутив Linux, например, "wsl --install Ubuntu"
-
-
Откройте терминал Linux, найдя установленный дистрибутив Linux в строке поиска Windows. Теперь вы можете выполнять команды Linux.
-
Подключитесь к серверу с помощью SSH в терминале Linux:
ssh root@<add your IP here>Замените
<на IP-адрес вашего сервера.add your IP here> -
Если появится предупреждение о подлинности хоста, вы можете ввести "yes", чтобы продолжить.
Вариант 3 — Установка PuTTY
Вы также можете использовать PuTTY, который предоставляет графический интерфейс пользователя (GUI) для SSH-соединений.
-
Скачайте установочный файл пакета PuTTY.
-
Установите скачанный пакет PuTTY, и после завершения установки выберите "Готово".
-
В строке поиска Windows введите "PuTTY", чтобы открыть окно PuTTY.
-
В текстовом поле вверху слева введите имя пользователя и IP-адрес в формате
<username>@<IP-address>. Оставьте порт 22. -
Нажмите "Open", чтобы установить SSH-соединение. Может появиться предупреждение о подлинности хоста; выберите "Accept", чтобы продолжить.
-
Введите пароль, когда появится запрос в терминале. Обратите внимание, что пароль не будет отображаться при вводе.
Шаг 2 — Генерация SSH-ключа
Теперь, когда вы знаете, как подключиться к серверу, вы можете сгенерировать пару SSH-ключей для безопасной аутентификации без пароля.
-
Следуйте инструкциям по генерации SSH-ключа в зависимости от выбранного вами метода SSH:
-
Терминал Linux или PowerShell: Следуйте шагам, описанным в разделе "Настройка SSH-ключа".
-
PuTTY: Если вы установили PuTTY, в его состав входит "PuTTY Key Generator". Найдите "PuTTYgen" в строке поиска Windows и следуйте руководству "Генерация SSH-ключа с помощью PuTTYgen".
-
-
Сохраните пару SSH-ключей в соответствующем месте:
-
В PowerShell и терминале Linux сохраните ключи в
~/.ssh. -
В PuTTY сохраните ключи в выбранном вами месте.
-
-
Скопируйте ваш открытый ключ с локального компьютера:
-
PowerShell:
Get-Content ~/.ssh/id_<type>.pub -
Терминал Linux:
cat ~/.ssh/id_<type>.pub
-
Шаг 3 — Управление SSH-ключом
Теперь давайте узнаем, как управлять SSH-ключами для различных методов SSH.
PowerShell:
Все SSH-файлы сохраняются в каталоге ~/.ssh. Чтобы обновить или удалить ключ, вы можете удалить файлы ключей:
-
Чтобы удалить ключ:
Remove-Item ~/.ssh/id_<type> ~/.ssh/id_<type>.pub -
По соображениям безопасности также удалите открытый ключ из файла
authorized_keysна удаленном сервере.
Терминал Linux:
Все SSH-файлы сохраняются в каталоге ~/.ssh. Чтобы обновить или удалить ключ, вы можете удалить файлы ключей:
-
Чтобы удалить ключ:
rm -rf ~/.ssh/id_<type> ~/.ssh/id_<type>.pub -
По соображениям безопасности также удалите открытый ключ из файла
authorized_keysна удаленном сервере.
PuTTY:
PuTTY управляет SSH-файлами, такими как config и known_hosts, за вас. Чтобы отредактировать существующий SSH-ключ, используйте опцию "Load" в PuTTYgen. Чтобы удалить SSH-ключ, просто удалите файлы ключей с вашего компьютера с Windows. Не забудьте удалить открытый ключ из файла authorized_keys на удаленном сервере для безопасности.
Шаг 4 — Настройка автоматической аутентификации
Чтобы упростить SSH-подключения, вы можете настроить автоматическую аутентификацию.
PowerShell и Терминал Linux:
Отредактируйте файл config в каталоге ~/.ssh, чтобы добавить записи для подключений по умолчанию. Таким образом, вы сможете использовать ssh <unique-name> вместо указания имени пользователя и IP-адреса каждый раз.
-
Отредактируйте файл
config:-
PowerShell:
notepad ~/.ssh/config -
Терминал Linux:
nano ~/.ssh/config
Если файл не существует, создайте его в
C:\Users\<username>\.ssh(PowerShell) или~/.ssh(Терминал Linux). -
-
Добавьте новую запись в следующем формате:
Host <unique-name> HostName <IP-address> User <username> PreferredAuthentications publickeyЗамените
<unique-name>на предпочитаемое имя,<IP-address>на IP-адрес вашего сервера, а<username>на имя пользователя вашего сервера. Если вы не добавляли SSH-ключ на сервер, измените "PreferredAuthentications" на "password". -
Сохраните файл и закройте его.
-
С новой записью вы теперь можете использовать
ssh <unique-name>для подключения к серверу.
PuTTY:
Для PuTTY выполните следующие шаги, чтобы настроить автоматическую аутентификацию:
-
Откройте PuTTY и перейдите в "Connection" » "SSH" » "Auth" » "Credentials".
-
Нажмите "Browse", чтобы выбрать файл вашего закрытого SSH-ключа (обычно с расширением .ppk).
-
Вернитесь в категорию "Session".
-
В текстовом поле вверху слева введите имя пользователя и IP-адрес удаленного сервера.
-
В разделе "Saved Sessions" введите уникальное имя для этой конфигурации и нажмите "Save".
-
Теперь, когда вы дважды щелкнете по сохраненной сессии, PuTTY автоматически подключится к указанному имени пользователя и IP-адресу, используя выбранный ключ.
Заключение
Поздравляем! Теперь вы знаете, как подключиться к удаленному серверу с вашего компьютера с Windows через SSH. Прежде чем работать с сервером, вам следует выполнить необходимые настройки в соответствии с вашей конкретной конфигурацией сервера. Для получения дополнительных рекомендаций рассмотрите возможность изучения руководства по "Первоначальной настройке сервера с Ubuntu" или эквивалентной документации для операционной системы вашего сервера.
Поиск