Настройка SSH-подключений в Windows для удаленного доступа к серверу

16/12/2023 |
Loading...

Введение

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

Предварительные требования

Прежде чем начать, убедитесь, что у вас есть следующее:

  • Локальный компьютер с Windows 10/11
  • Удаленный сервер с публичным IP-адресом
  •  

Шаг 1 — Получение поддержки SSH в Windows

Чтобы установить SSH-соединение, необходимо убедиться, что ваш компьютер с Windows поддерживает SSH. В зависимости от версии Windows вы можете выбрать один из следующих вариантов:

Вариант 1 — Использование Windows PowerShell

Этот вариант позволяет использовать базовые SSH-команды без установки дополнительного программного обеспечения. Работает в Windows 10 версии 1709 и новее.

  1. Проверьте версию Windows, открыв Windows PowerShell и выполнив команду:

    Get-ComputerInfo | select OsName, OSDisplayVersion, OsBuildNumber
  2. Если у вас Windows 10 версии 1709 или новее, вы можете использовать PowerShell для SSH. Если клиент OpenSSH не установлен, вы можете установить его следующим образом:

    • Найдите "Дополнительные компоненты" в строке поиска Windows.
    • В разделе "Установленные компоненты" найдите "Клиент OpenSSH". Если он недоступен, выберите "+ Добавить компонент" и установите "Клиент OpenSSH".
  3. После того как у вас будет правильная версия PowerShell и установлен клиент OpenSSH, откройте PowerShell и используйте команду SSH для подключения к серверу:

    ssh root@<add your IP here>

    Замените <add your IP here> на IP-адрес вашего сервера.

  4. Если появится предупреждение о подлинности хоста, вы можете ввести "yes", чтобы продолжить.

Вариант 2 — Установка подсистемы Linux

Этот вариант позволяет установить дистрибутив WSL (Подсистема Windows для Linux), что дает возможность запускать команды Linux на вашем компьютере с Windows. Работает в Windows 10 версии 1607 и новее.

  1. Включите Подсистему Windows для Linux (WSL), найдя в строке поиска Windows "Включение или отключение компонентов Windows". Включите "Платформа виртуальной машины" и "Подсистема Windows для Linux". Затем нажмите "OK" и перезагрузите компьютер.

  2. Установите дистрибутив Linux через Microsoft Store или PowerShell:

    • Через Microsoft Store: Найдите предпочитаемый дистрибутив Linux (например, "Ubuntu") в Microsoft Store и установите его.

    • Через PowerShell: Выведите список доступных дистрибутивов Linux и установите один на выбор:

      wsl --list --online # Список доступных дистрибутивов Linux wsl --install <distribution> # Установить дистрибутив Linux, например, "wsl --install Ubuntu"
  3. Откройте терминал Linux, найдя установленный дистрибутив Linux в строке поиска Windows. Теперь вы можете выполнять команды Linux.

  4. Подключитесь к серверу с помощью SSH в терминале Linux:

    ssh root@<add your IP here>

    Замените <add your IP here> на IP-адрес вашего сервера.

  5. Если появится предупреждение о подлинности хоста, вы можете ввести "yes", чтобы продолжить.

Вариант 3 — Установка PuTTY

Вы также можете использовать PuTTY, который предоставляет графический интерфейс пользователя (GUI) для SSH-соединений.

  1. Скачайте установочный файл пакета PuTTY.

  2. Установите скачанный пакет PuTTY, и после завершения установки выберите "Готово".

  3. В строке поиска Windows введите "PuTTY", чтобы открыть окно PuTTY.

  4. В текстовом поле вверху слева введите имя пользователя и IP-адрес в формате <username>@<IP-address>. Оставьте порт 22.

  5. Нажмите "Open", чтобы установить SSH-соединение. Может появиться предупреждение о подлинности хоста; выберите "Accept", чтобы продолжить.

  6. Введите пароль, когда появится запрос в терминале. Обратите внимание, что пароль не будет отображаться при вводе.

Шаг 2 — Генерация SSH-ключа

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

  1. Следуйте инструкциям по генерации SSH-ключа в зависимости от выбранного вами метода SSH:

    • Терминал Linux или PowerShell: Следуйте шагам, описанным в разделе "Настройка SSH-ключа".

    • PuTTY: Если вы установили PuTTY, в его состав входит "PuTTY Key Generator". Найдите "PuTTYgen" в строке поиска Windows и следуйте руководству "Генерация SSH-ключа с помощью PuTTYgen".

  2. Сохраните пару SSH-ключей в соответствующем месте:

    • В PowerShell и терминале Linux сохраните ключи в ~/.ssh.

    • В PuTTY сохраните ключи в выбранном вами месте.

  3. Скопируйте ваш открытый ключ с локального компьютера:

    • 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-адреса каждый раз.

  1. Отредактируйте файл config:

    • PowerShell:

      notepad ~/.ssh/config
    • Терминал Linux:

      nano ~/.ssh/config

    Если файл не существует, создайте его в C:\Users\<username>\.ssh (PowerShell) или ~/.ssh (Терминал Linux).

  2. Добавьте новую запись в следующем формате:

    Host <unique-name> HostName <IP-address> User <username> PreferredAuthentications publickey

    Замените <unique-name> на предпочитаемое имя, <IP-address> на IP-адрес вашего сервера, а <username> на имя пользователя вашего сервера. Если вы не добавляли SSH-ключ на сервер, измените "PreferredAuthentications" на "password".

  3. Сохраните файл и закройте его.

  4. С новой записью вы теперь можете использовать ssh <unique-name> для подключения к серверу.

PuTTY:

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

  1. Откройте PuTTY и перейдите в "Connection" » "SSH" » "Auth" » "Credentials".

  2. Нажмите "Browse", чтобы выбрать файл вашего закрытого SSH-ключа (обычно с расширением .ppk).

  3. Вернитесь в категорию "Session".

  4. В текстовом поле вверху слева введите имя пользователя и IP-адрес удаленного сервера.

  5. В разделе "Saved Sessions" введите уникальное имя для этой конфигурации и нажмите "Save".

  6. Теперь, когда вы дважды щелкнете по сохраненной сессии, PuTTY автоматически подключится к указанному имени пользователя и IP-адресу, используя выбранный ключ.

Заключение

Поздравляем! Теперь вы знаете, как подключиться к удаленному серверу с вашего компьютера с Windows через SSH. Прежде чем работать с сервером, вам следует выполнить необходимые настройки в соответствии с вашей конкретной конфигурацией сервера. Для получения дополнительных рекомендаций рассмотрите возможность изучения руководства по "Первоначальной настройке сервера с Ubuntu" или эквивалентной документации для операционной системы вашего сервера.

Получайте эксклюзивные предложения и акции!

Будьте в курсе последних предложений, скидок и специальных акций.

Update cookies preferences