Как настроить ssh в Windows

Обновлено: 04.07.2024

Примечание. Приложение OpenSSH Server позволит вам установить соединение с вашим компьютером по протоколу SSH. Это не позволит вам получить доступ к другим компьютерам в вашей сети. Для подключения к другим компьютерам необходимо установить клиент OpenSSH.

В Windows 10 Microsoft, наконец, прислушалась к своим пользователям после того, как они годами запрашивали SSH-клиент и сервер. Включение реализации OpenSSH повышает ценность ОС.

На момент написания этой статьи программное обеспечение OpenSSH, входящее в состав Windows 10, находится на стадии БЕТА. Это означает, что у него могут быть проблемы со стабильностью.

Предоставленный SSH-сервер аналогичен приложению Linux. На первый взгляд кажется, что он поддерживает те же функции, что и его аналог *NIX. Это консольное приложение, но оно работает как служба Windows.

Давайте посмотрим, как включить сервер OpenSSH в Windows 10.

Включить сервер OpenSSH в Windows 10

Это установит программное обеспечение OpenSSH Server в Windows 10.

Его двоичные файлы находятся в папке c:\windows\system32\Openssh . Помимо клиентских приложений SSH, папка содержит следующие серверные инструменты:

  • sftp-сервер.exe
  • ssh-agent.exe
  • ssh-keygen.exe
  • sshd.exe
  • и файл конфигурации "sshd_config".

Сервер SSH настроен для работы в качестве службы.

Служба Sshd Windows 10

На момент написания этой статьи он не запускается автоматически. Вам необходимо настроить его вручную.

Как запустить сервер OpenSSH в Windows 10

  1. Дважды щелкните запись sshd в службах, чтобы открыть ее свойства.
  2. На вкладке «Вход в систему» ​​см. учетную запись пользователя, используемую сервером sshd. В моем случае это NT Service\sshd.
  3. Теперь откройте командную строку с повышенными привилегиями.
  4. Перейдите в каталог c:\windows\system32\Openssh с помощью команды cd c:\windows\system32\Openssh .
  5. Здесь запустите команду ssh-keygen -A, чтобы сгенерировать ключи безопасности для сервера sshd.
  6. Теперь в командной строке с повышенными привилегиями введите explorer.exe . для запуска Проводника в папке OpenSSH.
  7. Обновление. Корпорация Майкрософт опубликовала руководство, которое упрощает процесс правильного назначения.
    Откройте PowerShell от имени администратора и выполните следующие команды:
  8. Вот оно! Все необходимые разрешения установлены.

    Теперь вы можете попробовать это в действии.

    Подключение к SSH-серверу в Windows 10

    Откройте ssh-клиент. Вы можете запустить его на том же компьютере, например. с помощью встроенного клиента OpenSSH или запустите его с другого компьютера в вашей сети.

    В общем случае синтаксис консольного клиента OpenSSH выглядит следующим образом:

    В моем случае команда выглядит следующим образом:

    Подключение Windows 10 к встроенному Sshd-серверу 1

    Где winaero — мое имя пользователя Windows, а 192.168.2.96 — IP-адрес моего ПК с Windows 10. Я подключусь к нему с другого ПК под управлением Arch Linux.

    Наконец-то вы в деле!

    Подключение Windows 10 к встроенному Sshd-серверу 2

    Сервер выполняет классические консольные команды Windows, например больше, тип, версия, копия.

    Подключение Windows 10 ко встроенному серверу Sshd 3

    Подключение Windows 10 ко встроенному серверу Sshd 4

    Но я не могу запустить FAR Manager. Он выглядит черно-белым и сломанным:

    Еще одно интересное наблюдение: вы можете запускать приложения с графическим интерфейсом, такие как проводник. Если вы вошли в ту же учетную запись пользователя, которую используете для SSH, они запустятся на рабочем столе. См.:

    Подключение Windows 10 к встроенному серверу Sshd 5

    Что ж, встроенный SSH-сервер определенно интересен. Он позволяет управлять компьютером с Windows без установки таких инструментов, как rdesktop, на компьютер с Linux и даже без изменения настроек Windows с компьютера с Linux, на котором не установлен X-сервер.

    На момент написания этой статьи встроенный сервер SSH в Windows 10 находился на стадии БЕТА-тестирования, поэтому в ближайшем будущем он должен стать интереснее и стать полезной функцией.

    Winaero очень рассчитывает на вашу поддержку. Вы можете помочь сайту и дальше предлагать вам интересный и полезный контент и программное обеспечение, используя следующие варианты:

    Если вам понравилась эта статья, поделитесь ею с помощью кнопок ниже. Это не потребует от вас многого, но поможет нам расти. Спасибо за вашу поддержку!

    Автор: Сергей Ткаченко

    Сергей Ткаченко — разработчик программного обеспечения из России, который основал Winaero еще в 2011 году. В этом блоге Сергей пишет обо всем, что связано с Microsoft, Windows и популярным программным обеспечением. Следите за ним в Telegram, Twitter и YouTube. Просмотреть все сообщения Сергея Ткаченко

    Автор Сергей Ткаченко Опубликовано 13 декабря 2017 г. 17 декабря 2017 г. Рубрики Windows 10 Tags Windows 10 Enable SSH, Windows 10 SSH

    14 мыслей о «Как включить OpenSSH Server в Windows 10»

    Инструкции здесь очень четкие и структурированные; тем не менее, служба все равно не запустится для меня только с этим. Он продолжал жаловаться на то, что пользователь sshd не имеет правильных разрешений. Мне пришлось выполнить шаг «Назначение прав пользователя», который можно найти здесь, прежде чем служба запустится. После этого все заработало отлично!

    Спасибо, что указали.
    Может быть, мне следует добавить это в статью.

    Спасибо за объяснение! Как изменить параметр «Назначение прав пользователя» в Windows 10 без GPO, например Home Home edition? Спасибо!

    Я нашел классный скрипт для включения gpo в Windows 10 Home! Если кому-то еще это нужно, мы здесь

    Еще один вопрос, если возможно: как изменить файл конфигурации sshd, чтобы разрешить авторизацию только с файлом ключа? Я хотел бы подключиться только с открытым/закрытым ключом и отключить вход по имени пользователя/паролю. Спасибо!

    У меня есть вопрос о приложении с графическим интерфейсом. Я открыл службу sshd и подключил ее с ssh-клиента Linux-машины. Я запускаю команду «блокнот», процесс запускается, и я могу найти его в диспетчере задач. Но я не мог видеть окно блокнота. Вы знаете, как его настроить? Большое спасибо.

    В настоящее время я понятия не имею, как указать сеанс для сервера sshd.
    Кроме того, как вы могли заметить из моего поста, описанное вами поведение является поведением по умолчанию для моего экземпляра.
    Не знаю почему. На данный момент нет документации, которая могла бы объяснить это.

    Привет,
    Спасибо за урок!
    Есть идеи, поддерживается ли это в Windows 10 Home?
    Спасибо!

    У меня нет Домашней версии, чтобы проверить. Я не думаю, что он доступен.

    После установки сервера OpenSSH и перезагрузки ПК в службах нет sshd. Пожалуйста, помогите. Сервер OpenSSH не является бета-версией.

    Попробуйте найти агент аутентификации OpenSSH.
    Это то, что появляется в моей системе.

    В последней версии win служба называется OpenSSH SSH Server

    Эй, я не вижу «Сервер OpenSSH» в качестве компонента для установки в «Добавить компонент».
    У меня Windows 10 Корпоративная. Чего не хватает в моем случае?

    Оставить ответ Отменить ответ

    Свяжитесь с нами

    Здесь вы можете подписаться на наши каналы. У нас есть Twitter, YouTube и Telegram, а также RSS-канал и информационный бюллетень по электронной почте.

    Мы прекратили работу Facebook, чтобы доставлять обновления наших сообщений.

    Избранные сообщения

    Реклама

    Недавно обновлено

    Дружественные блоги

    transparent

    Обзор конфиденциальности

    OpenSSH — это средство подключения для удаленного входа в систему, использующее протокол SSH. Он шифрует весь трафик между клиентом и сервером, чтобы предотвратить прослушивание, перехват соединения и другие атаки.

    Клиент, совместимый с OpenSSH, можно использовать для подключения к Windows Server и клиентским устройствам Windows.

    Если вы загрузили OpenSSH из репозитория GitHub по адресу PowerShell/openssh-portable, следуйте приведенным там инструкциям, а не инструкциям в этой статье.

    Установите OpenSSH с помощью настроек Windows

    Оба компонента OpenSSH можно установить с помощью параметров Windows на устройствах Windows Server 2019 и Windows 10.

    Чтобы установить компоненты OpenSSH:

    Откройте "Настройки", выберите "Приложения" > "Приложения и функции", затем выберите "Дополнительные функции".

    Просмотрите список, чтобы убедиться, что OpenSSH уже установлен. Если нет, в верхней части страницы выберите Добавить функцию, а затем:

    После завершения настройки вернитесь в раздел Приложения > Приложения и функции и Дополнительные функции, и вы должны увидеть OpenSSH в списке.

    При установке OpenSSH Server будет создано и активировано правило брандмауэра с именем OpenSSH-Server-In-TCP . Это разрешает входящий SSH-трафик через порт 22. Если это правило не включено и этот порт не открыт, соединения будут отклонены или сброшены.

    Установите OpenSSH с помощью PowerShell

    Чтобы установить OpenSSH с помощью PowerShell, запустите PowerShell от имени администратора. Чтобы убедиться, что OpenSSH доступен, запустите следующий командлет:

    Это должно вернуть следующий вывод, если ни один из них еще не установлен:

    Затем установите необходимые серверные или клиентские компоненты:

    Оба из них должны возвращать следующий вывод:

    Запустите и настройте сервер OpenSSH

    Чтобы запустить и настроить OpenSSH Server для первоначального использования, откройте PowerShell от имени администратора, затем выполните следующие команды, чтобы запустить службу sshd:

    Подключение к серверу OpenSSH

    После установки вы можете подключиться к OpenSSH Server с устройства Windows 10 или Windows Server 2019 с установленным клиентом OpenSSH с помощью PowerShell следующим образом. Обязательно запускайте PowerShell от имени администратора:

    После подключения вы получите сообщение, подобное следующему:

    Если выбрать «Да», этот сервер будет добавлен в список известных хостов SSH в вашем клиенте Windows.

    На этом этапе вам будет предложено ввести пароль. В целях безопасности ваш пароль не будет отображаться при вводе.

    После подключения вы увидите приглашение командной оболочки Windows:

    Файлы конфигурации OpenSSH

    OpenSSH имеет файлы конфигурации для настроек сервера и клиента. OpenSSH имеет открытый исходный код и добавляется в операционные системы Windows Server и Windows Client, начиная с Windows Server 2019 и Windows 10 (сборка 1809). В результате документация по конфигурационным файлам OpenSSH здесь не повторяется. Файлы конфигурации клиента и можно найти на странице руководства ssh_config, а файлы конфигурации сервера OpenSSH можно найти на странице руководства sshd_config. Дальнейшая конфигурация OpenSSH Server для Windows подробно описана в разделе Конфигурация OpenSSH Server для Windows.

    В Windows клиент OpenSSH (ssh) считывает данные конфигурации из файла конфигурации в следующем порядке:

    1. Запустив ssh.exe с параметром -F, указав путь к файлу конфигурации и имя записи из этого файла.
    2. Файл конфигурации пользователя по адресу %userprofile%\.ssh\config.
    3. Системный файл конфигурации в %programdata%\ssh\ssh_config.

    Открытый SSH-сервер (sshd) по умолчанию считывает данные конфигурации из %programdata%\ssh\sshd_config, или можно указать другой файл конфигурации, запустив sshd.exe с параметром -f. Если файл отсутствует, sshd создает его с конфигурацией по умолчанию при запуске службы.

    Удалите OpenSSH с помощью настроек Windows

    Чтобы удалить OpenSSH с помощью настроек Windows:

    1. Откройте "Настройки", затем выберите "Приложения" > "Приложения и функции".
    2. Перейти к дополнительным функциям.
    3. В списке выберите «Клиент OpenSSH» или «Сервер OpenSSH».
    4. Выберите «Удалить».

    Удалите OpenSSH с помощью PowerShell

    Чтобы удалить компоненты OpenSSH с помощью PowerShell, используйте следующие команды:

    После этого вам может потребоваться перезапустить Windows, если служба использовалась в момент ее удаления.

    Недавно Microsoft выпустила порт OpenSSH для Windows. Вы можете использовать этот пакет для настройки сервера SFTP/SSH в Windows.

    Установка SFTP/SSH-сервера

    В Windows 11 и Windows 10

    • В Windows 11:
      • Перейдите в раздел Приложения > Дополнительные функции и нажмите Просмотреть функции.
      • Найдите компонент «Сервер OpenSSH», выберите его, нажмите Далее, а затем нажмите Установить.
      • Перейдите в раздел Приложения > Приложения и функции > Дополнительные функции и нажмите Добавить функцию.
      • Найдите компонент «Сервер OpenSSH», разверните его и выберите Установить.

      Двоичные файлы устанавливаются в %WINDIR%\System32\OpenSSH . Файл конфигурации ( sshd_config ) и ключи хоста устанавливаются в %ProgramData%\ssh (только после первого запуска сервера).

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

      В более ранних версиях Windows

      • Загрузите последние двоичные файлы OpenSSH для Windows (пакет OpenSSH-Win64.zip или OpenSSH-Win32.zip )
      • От имени администратора извлеките пакет в C:\Program Files\OpenSSH
      • От имени администратора установите службы sshd и ssh-agent:

      Настройка SSH-сервера

      • Разрешить входящие подключения к серверу SSH в брандмауэре Windows:
        • При установке в качестве дополнительной функции правило брандмауэра "Сервер OpenSSH SSH (sshd)" должно было быть создано автоматически. Если нет, перейдите к созданию и включению правила следующим образом.
        • Либо выполните следующую команду PowerShell от имени администратора:
          Замените C:\Windows\System32\OpenSSH\sshd.exe фактическим путем к файлу sshd.exe ( C:\Program Files\OpenSSH\ssh.exe , если бы вы следовали приведенным выше инструкциям по ручной установке).
        • или выберите Панель управления > Система и безопасность > Брандмауэр Защитника Windows1> Дополнительные параметры > Правила для входящего трафика и добавьте новое правило для порта 22.
        • Откройте Панель управления > Система и безопасность > Администрирование и откройте Службы. Найдите службу OpenSSH SSH Server.
        • Если вы хотите, чтобы сервер запускался автоматически при включении компьютера: выберите Действие > Свойства. В диалоговом окне "Свойства" измените Тип запуска на Автоматически и подтвердите выбор.
        • Запустите службу OpenSSH SSH Server, нажав кнопку Запустить службу.

        Настройка аутентификации с открытым ключом SSH

        Следуйте общему руководству по настройке аутентификации с открытым ключом SSH на сервере *nix OpenSSH со следующим отличием:

        • Создайте папку .ssh (для файла author_keys) в папке профиля учетной записи Windows (обычно в C:\Users\username\.ssh ).2
        • Для разрешений на папку .ssh и файл author_keys важны разрешения Windows ACL, а не простые разрешения *nix. Настройте ACL таким образом, чтобы соответствующая учетная запись Windows была владельцем папки и файла и была единственной учетной записью, имеющей доступ на запись к ним. Учетная запись, которая запускает службу OpenSSH SSH Server (обычно это SYSTEM или sshd ), должна иметь доступ для чтения к файлу.
        • Тем не менее, с конфигурацией Win32-OpenSSH по умолчанию в sshd_config установлено исключение для учетных записей в группе администраторов. Для них сервер использует другое расположение для файла авторизованных ключей: %ALLUSERSPROFILE%\ssh\administrators_authorized_keys (т. е. обычно C:\ProgramData\ssh\administrators_authorized_keys ).

        Подключение к серверу

        Поиск ключа хоста

        Перед первым подключением узнайте отпечаток ключа хоста сервера, используя ssh-keygen.exe для каждого файла.

        В командной строке Windows используйте:

        При необходимости замените %WINDIR%\System32 на %ProgramFiles% .

        В PowerShell используйте:

        Замените $env:WINDIR\System32 на $env:ProgramFiles , если это уместно.

        Вы получите следующий вывод:

        Подключение

        Запустите WinSCP. Появится диалоговое окно входа. В диалоговом окне:

        • Убедитесь, что выбран узел Новый сайт.
        • Убедитесь, что на новом узле сайта выбран протокол SFTP.
        • Введите IP-адрес вашего компьютера/сервера (или имя хоста) в поле Имя хоста.
        • Введите имя своей учетной записи Windows в поле Имя пользователя. Возможно, его придется вводить в формате пользователь@домен, если он работает в домене.
        • Для аутентификации с открытым ключом:
          • Нажмите кнопку Дополнительно, чтобы открыть диалоговое окно "Дополнительные настройки сайта" и перейдите на страницу SSH > Аутентификация.
          • В поле Файл закрытого ключа выберите файл закрытого ключа.
          • Отправить диалоговое окно дополнительных настроек сайта с помощью кнопки ОК.
          • Введите пароль своей учетной записи Windows в поле Пароль.
          • Если у вашей учетной записи Windows нет пароля, вы не можете пройти аутентификацию с помощью аутентификации по паролю (т. е. с пустым паролем), вам необходимо использовать аутентификацию с открытым ключом.

          Если вы не можете пройти аутентификацию на сервере и использовать Windows 10 в режиме разработчика, убедитесь, что ваш сервер OpenSSH не конфликтует с внутренним SSH-сервером, используемым в режиме разработчика. . Возможно, вам потребуется отключить службы Windows SSH Server Broker и SSH Server Proxy. Или запустите сервер OpenSSH на порту, отличном от 22.

          Последние сборки Windows 10 и Windows 11 включают встроенный SSH-сервер и клиент на основе OpenSSH. Это означает, что теперь вы можете удаленно подключаться к Windows 10/11 или Windows Server 2019 с помощью любого SSH-клиента, например дистрибутивов Linux. В этой статье мы покажем вам, как настроить OpenSSH в Windows 10 и Windows 11 и подключиться к нему с помощью Putty или любого другого клиента SSH.

          OpenSSH — это кроссплатформенная версия Secure Shell (SSH) с открытым исходным кодом, которая уже давно используется пользователями Linux. Этот проект в настоящее время портирован на Windows и может использоваться в качестве SSH-сервера практически на любой версии Windows. В последних версиях Windows Server 2022/2019 и Windows 11 OpenSSH встроен в образ операционной системы.

          Как включить SSH-сервер в Windows 10?

          Убедитесь, что ваша сборка Windows 10 – 1809 или новее. Проще всего это сделать, выполнив команду:

          ssh к окнам

          Примечание.Если у вас установлена ​​более старая сборка Windows 10, вы можете обновить ее через Центр обновления Windows или с помощью ISO-образа с более новой версией Windows 10 (вы можете создать образ с помощью Media Creation Tool). Если вы не хотите обновлять сборку Windows 10, вы можете вручную установить порт Win32-OpenSSH для Windows с помощью GitHub.

          Вы можете включить сервер OpenSSH в Windows 10 через графическую панель настроек:

          Вы также можете установить сервер sshd с помощью PowerShell:

          как подключиться к Windows 10 по SSH

          Если вы хотите убедиться, что сервер OpenSSH установлен, выполните следующую команду PS:

          ssh в ширину Windows 10

          Используйте следующую команду PowerShell для удаления SSH-сервера:

          Как установить SSH-сервер в Windows 11?

          Кроме того, вы можете добавить сервер OpenSSH в Windows 11.

          Двоичные файлы OpenSSH находятся в папке C:\Windows\System32\OpenSSH\.

          ssh на машину Windows

          Настройка службы SSH в Windows 10 и 11

          Проверьте состояние служб ssh-agent и sshd с помощью команды PowerShell Get-Service:

          как подключиться к Windows по SSH

          Как видите, обе службы находятся в состоянии "Остановлено" и не добавлены в список автоматического запуска. Чтобы запустить службы и настроить для них автозапуск, выполните следующие команды:

          ssh на сервер Windows

          Также необходимо разрешить входящие подключения к TCP-порту 22 в брандмауэре Защитника Windows. Вы можете открыть порт с помощью netsh:

          Или вы можете добавить правило брандмауэра, чтобы разрешить трафик SSH с помощью PowerShell:

          Теперь вы можете подключиться к Windows 10 с помощью любого SSH-клиента. Для подключения из Linux используйте команду:

          Здесь администратор — это локальный пользователь Windows, под которым вы хотите подключиться. 192.168.1.90 — это IP-адрес вашего компьютера с Windows 10.

          как подключиться к Windows 10 по SSH

          После этого в сеансе SSH откроется новое окно командной строки Windows.

          Подсказка. Чтобы запустить cli PowerShell.exe вместо оболочки cmd.exe при входе через SSH в Windows 10, вам необходимо выполнить следующую команду в Windows 10 (под учетной записью администратора):

          Теперь вы измените оболочку OpenSSH по умолчанию. Отсюда при подключении к Windows через SSH вы сразу увидите приглашение PowerShell вместо cmd.exe.

          как подключиться к Windows по SSH

          Если вы хотите использовать аутентификацию ssh на основе ключа вместо аутентификации по паролю, вам необходимо сгенерировать ключ с помощью ssh-keygen на вашем клиенте.

          Затем содержимое файла id_rsa.pub необходимо скопировать в файл c:\users\admin\.ssh\authorized_keys в Windows 10.

          После этого вы можете подключаться с клиента Linux к Windows 10 без пароля. Используйте команду:

          Вы можете настроить различные параметры сервера OpenSSH в Windows, используя файл конфигурации %programdata%\ssh\sshd_config.

          ssh подключение к окнам

          Например, вы можете отключить аутентификацию по паролю и оставить только аутентификацию на основе ключа:

          Здесь вы также можете указать новый порт TCP (вместо порта TCP 22 по умолчанию), через который SSHD будет принимать подключения. Например:

          С помощью директив AllowGroups, AllowUsers, DenyGroups, DenyUsers вы можете указать пользователей и группы, которым разрешено или запрещено подключаться к Windows через SSH:

          • DenyUsers theitbros\jbrown@192.168.1.15 — блокирует соединения с именем пользователя jbrown с хостов 192.168.1.15.
          • DenyUsers theitbros\* — запрещает всем пользователям из домена theitbros подключаться к хосту с помощью sshж
          • AllowGroups theitbros\ssh_allow — разрешить подключение только пользователям с хоста itbtos\ssh_allow.

          Правила разрешения и запрета для sshd обрабатываются в следующем порядке: DenyUsers, AllowUsers, DenyGroups и AllowGroups.

          После внесения изменений в файл sshd_config необходимо перезапустить службу sshd:

          ssh к машине с Windows

          В предыдущих версиях OpenSSH для Windows все журналы службы sshd по умолчанию записывались в текстовый файл C:\ProgramData\ssh\logs\sshd.log.

          В Windows 11 журналы SSH можно просматривать с помощью консоли средства просмотра событий (eventvwr.msc). Все события SSH доступны в отдельном разделе Журналы приложений и служб > OpenSSH > Operational.

          Например, на скриншоте показан пример события при успешном подключении к компьютеру по SSH. Вы можете увидеть IP-адрес клиента ssh (имя хоста) и имя пользователя, используемое для подключения.

          Sshd: принятый пароль для jbrown от 192.168.14.14. порт 49833 ssh2

          подключение к Windows ssh

          Мне нравится технология и разработка веб-сайтов. С 2012 года я веду несколько собственных веб-сайтов и делюсь полезным контентом по гаджетам, администрированию ПК и продвижению веб-сайтов.

          Читайте также: