Как настроить ssh в Windows
Обновлено: 21.11.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 настроен для работы в качестве службы.
На момент написания этой статьи он не запускается автоматически. Вам необходимо настроить его вручную.
Как запустить сервер OpenSSH в Windows 10
- Дважды щелкните запись sshd в службах, чтобы открыть ее свойства.
- На вкладке «Вход в систему» см. учетную запись пользователя, используемую сервером sshd. В моем случае это NT Service\sshd.
- Теперь откройте командную строку с повышенными привилегиями.
- Перейдите в каталог c:\windows\system32\Openssh с помощью команды cd c:\windows\system32\Openssh .
- Здесь запустите команду ssh-keygen -A, чтобы сгенерировать ключи безопасности для сервера sshd.
- Теперь в командной строке с повышенными привилегиями введите explorer.exe . для запуска Проводника в папке OpenSSH.
- Обновление. Корпорация Майкрософт опубликовала руководство, которое упрощает процесс правильного назначения.
Откройте PowerShell от имени администратора и выполните следующие команды:
ол>р>
- Запустив ssh.exe с параметром -F, указав путь к файлу конфигурации и имя записи из этого файла.
- Файл конфигурации пользователя по адресу %userprofile%\.ssh\config.
- Системный файл конфигурации в %programdata%\ssh\ssh_config.
- Откройте "Настройки", затем выберите "Приложения" > "Приложения и функции".
- Перейти к дополнительным функциям.
- В списке выберите «Клиент OpenSSH» или «Сервер OpenSSH».
- Выберите «Удалить».
- В 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 или новее. Проще всего это сделать, выполнив команду:
Примечание.Если у вас установлена более старая сборка Windows 10, вы можете обновить ее через Центр обновления Windows или с помощью ISO-образа с более новой версией Windows 10 (вы можете создать образ с помощью Media Creation Tool). Если вы не хотите обновлять сборку Windows 10, вы можете вручную установить порт Win32-OpenSSH для Windows с помощью GitHub.
Вы можете включить сервер OpenSSH в Windows 10 через графическую панель настроек:
Вы также можете установить сервер sshd с помощью PowerShell:
Если вы хотите убедиться, что сервер OpenSSH установлен, выполните следующую команду PS:
Используйте следующую команду PowerShell для удаления SSH-сервера:
Как установить SSH-сервер в Windows 11?
Кроме того, вы можете добавить сервер OpenSSH в Windows 11.
Двоичные файлы OpenSSH находятся в папке C:\Windows\System32\OpenSSH\.
Настройка службы SSH в Windows 10 и 11
Проверьте состояние служб ssh-agent и sshd с помощью команды PowerShell Get-Service:
Как видите, обе службы находятся в состоянии "Остановлено" и не добавлены в список автоматического запуска. Чтобы запустить службы и настроить для них автозапуск, выполните следующие команды:
Также необходимо разрешить входящие подключения к TCP-порту 22 в брандмауэре Защитника Windows. Вы можете открыть порт с помощью netsh:
Или вы можете добавить правило брандмауэра, чтобы разрешить трафик SSH с помощью PowerShell:
Теперь вы можете подключиться к Windows 10 с помощью любого SSH-клиента. Для подключения из Linux используйте команду:
Здесь администратор — это локальный пользователь Windows, под которым вы хотите подключиться. 192.168.1.90 — это IP-адрес вашего компьютера с Windows 10.
После этого в сеансе SSH откроется новое окно командной строки Windows.
Подсказка. Чтобы запустить cli PowerShell.exe вместо оболочки cmd.exe при входе через SSH в Windows 10, вам необходимо выполнить следующую команду в Windows 10 (под учетной записью администратора):
Теперь вы измените оболочку OpenSSH по умолчанию. Отсюда при подключении к Windows через SSH вы сразу увидите приглашение PowerShell вместо cmd.exe.
Если вы хотите использовать аутентификацию ssh на основе ключа вместо аутентификации по паролю, вам необходимо сгенерировать ключ с помощью ssh-keygen на вашем клиенте.
Затем содержимое файла id_rsa.pub необходимо скопировать в файл c:\users\admin\.ssh\authorized_keys в Windows 10.
После этого вы можете подключаться с клиента Linux к Windows 10 без пароля. Используйте команду:
Вы можете настроить различные параметры сервера OpenSSH в Windows, используя файл конфигурации %programdata%\ssh\sshd_config.
Например, вы можете отключить аутентификацию по паролю и оставить только аутентификацию на основе ключа:
Здесь вы также можете указать новый порт 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:
В предыдущих версиях 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
Мне нравится технология и разработка веб-сайтов. С 2012 года я веду несколько собственных веб-сайтов и делюсь полезным контентом по гаджетам, администрированию ПК и продвижению веб-сайтов.
Читайте также:
Вот оно! Все необходимые разрешения установлены.
Теперь вы можете попробовать это в действии.
Подключение к SSH-серверу в Windows 10
Откройте ssh-клиент. Вы можете запустить его на том же компьютере, например. с помощью встроенного клиента OpenSSH или запустите его с другого компьютера в вашей сети.
В общем случае синтаксис консольного клиента OpenSSH выглядит следующим образом:
В моем случае команда выглядит следующим образом:
Где winaero — мое имя пользователя Windows, а 192.168.2.96 — IP-адрес моего ПК с Windows 10. Я подключусь к нему с другого ПК под управлением Arch Linux.
Наконец-то вы в деле!
Сервер выполняет классические консольные команды Windows, например больше, тип, версия, копия.
Но я не могу запустить FAR Manager. Он выглядит черно-белым и сломанным:
Еще одно интересное наблюдение: вы можете запускать приложения с графическим интерфейсом, такие как проводник. Если вы вошли в ту же учетную запись пользователя, которую используете для SSH, они запустятся на рабочем столе. См.:
Что ж, встроенный 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, чтобы доставлять обновления наших сообщений.
Избранные сообщения
Реклама
Недавно обновлено
Дружественные блоги
Обзор конфиденциальности
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) считывает данные конфигурации из файла конфигурации в следующем порядке:
Открытый SSH-сервер (sshd) по умолчанию считывает данные конфигурации из %programdata%\ssh\sshd_config, или можно указать другой файл конфигурации, запустив sshd.exe с параметром -f. Если файл отсутствует, sshd создает его с конфигурацией по умолчанию при запуске службы.
Удалите OpenSSH с помощью настроек Windows
Чтобы удалить OpenSSH с помощью настроек Windows:
Удалите OpenSSH с помощью PowerShell
Чтобы удалить компоненты OpenSSH с помощью PowerShell, используйте следующие команды:
После этого вам может потребоваться перезапустить Windows, если служба использовалась в момент ее удаления.
Недавно Microsoft выпустила порт OpenSSH для Windows. Вы можете использовать этот пакет для настройки сервера SFTP/SSH в Windows.