не работает ssh windows 10
Подключение к Windows по SSH с помощью встроенного OpenSSH
Начиная с Windows 10 1809 и Windows Server 2019 в операционной системе имеется встроенный SSH сервер, основанный на OpenSSH. В этой статье мы покажем, как установить и настроить OpenSSH сервер в Windows 10 и подключиться к нему удаленно по защищенному SSH протоколу (ну прям как в Linux 🙂 ).
Установка сервера OpenSSH в Windows
Рассмотрим, как установить компонент OpenSSH Server в Windows 10 1903 (Windows Server 2019 все выполняется аналогично).
Пакет OpenSSH (как и RSAT) уже включен в данные версии Windows в виде Feature on Demand (FoD).
При наличии прямого Интернет-подключения вы можете установить сервер OpenSSH с помощью PowerShell
Или при помощи DISM:
dism /Online /Add-Capability /CapabilityName:OpenSSH.Server
Настройка SSH сервера в Windows
После уставной сервера OpenSSH в Windows вам нужно изменить тип запуска службы sshd на автоматический и запустить службу с помощью PowerShell:
С помощью nestat убедитесь, что теперь в системе запущен SSH сервер и ждет подключений на 22 порту:
Проверьте, что включено правило брандмауэра (Windows Defender Firewall), разрешающее входящие подключения к Windows по порту TCP/22.
Если правило отключено (состоянии Enabled=False) или отсутствует, вы можете создать новое входящее правило командой New-NetFirewallRule:
По умолчанию важным компоненты OpenSSH хранятся в следующих каталогах:
При установке OpenSSH сервера в системе создается новый локальный пользователь sshd.
Sshd_config: Конфигурационный файл сервера OpenSSH
Вы можете изменить настройки сервере OpenSSH в конфигурационном файле %programdata%\ssh\sshd_config.
Например, чтобы запретить SSH подключение для определенного доменного пользователя (и всех пользователей указанного домена), добавьте в конце файле директивы:
Чтобы разрешить подключение только для определенной доменной группы:
Либо можете разрешить доступ для локальной группы:
Можно запретить вход под учетными записями с правами администратора, в этом случае для выполнения привилегированных действий в SSH сессии нужно делать runas.
Следующие директивы разрешают SSH доступ по ключам (доступ к Windows через SSH по ключам рассмотрим подробно в следующей статье) и по паролю:
Вы можете изменить порт, на котором принимает подключения OpenSSH в конфигурационном файле sshd_config в директиве Port.
Подключение к Windows 10 через SSH
Теперь вы можете попробовать подключиться к своей Windows 10 через SSH клиент (я использую putty, но можно пользоваться встроенным ssh клиентом Windows).
При первом подключении появится стандартный запрос на добавление узла в список известных SSH хостов.
Нажимаем Да, и в открывшееся окне авторизуемся под пользователем Windows.
При успешном подключении запускается командная оболочка cmd.exe со строкой-приглашением.
В командной строке вы можете выполнять различные команды, запускать скрипты и программы.
Я предпочитаю работать в командной строке PowerShell. Чтобы запустить интерпретатор PowerShell, выполните:
Чтобы изменить Shell по умолчанию в OpenSSH с cmd.exe на PowerShell, внесите изменение в реестр такой командой:
Осталось перезапустить SSH подключение и убедиться, что при подключении используется командный интерпретатор PowerShell (об этом свидетельствует приглашение PS C:\Users\admin> ).
В SSH сессии запустилась консоль PowerShell, в которой работают привычные функции: авто дополнение, раскраска модулем PSReadLine, история команд и т.д. Если текущий пользователь входит в группу локальных администраторов, то все команды в его сессии выполняются с повышенными правами даже при включенном UAC.
Не удается подключиться через SSH из Windows 10
Я пытаюсь подключиться к другому устройству в моей локальной сети: 192.168.0.55 с помощью Putty. Я могу сделать это нормально с одного компьютера, но другой не работает. Тот, который не работает, работает под управлением Windows 10, и на нем установлены только встроенный брандмауэр и Защитник Windows. Это сообщение об ошибке, которое я получаю
Я попытался добавить правила в брандмауэр Windows, чтобы разрешить входящие и исходящие соединения через порт 22, но это не имело значения. Раньше работал нормально.
2 ответа 2
Во-первых, исходящий трафик SSH не использует порт 22, он перенаправляется на порт 22. По умолчанию он выбирает порт из динамического диапазона. Кроме того, вам не нужны никакие правила для исходящих соединений SSH, если только такие соединения явно не заблокированы брандмауэром. Сетевое соединение будет установлено через отслеживание соединения с отслеживанием состояния (поддерживается практически любым современным брандмауэром, подробнее читайте здесь).
Вы не должны волноваться о своих портах исходящего соединения вообще.
Причины, по которым вы можете испытывать такое поведение:
Необработанные сокеты предоставляют возможность манипулировать основным транспортом, поэтому их можно использовать в злонамеренных целях, представляющих угрозу безопасности. Поэтому только члены группы «Администраторы» могут создавать сокеты типа SOCK_RAW в Windows 2000 и более поздних версиях.
Краткое руководство по разрешению приложений через брандмауэр:
Windows 10: разрешить / заблокировать приложения в брандмауэре Windows
Как включить OpenSSH Server в Windows 10.
Публикация: 16 December 2017 Обновлено: 24 February 2018
Примечание: Приложение OpenSSH Server позволит вам установить соединение с вашим компьютером с использованием протокола SSH. Это не позволит вам получить доступ к другим компьютерам в вашей сети. Чтобы подключиться к другим компьютерам, вы должны установить клиент OpenSSH.
В Windows 10, Microsoft, наконец, прислушалась к просьбам пользователей и добавила поддержку протокола OpenSSH в версии обновления Fall Creators.
На момент написания данной статьи, программное обеспечение OpenSSH, включенное в Windows 10, находится на стадии BETA. Это означает, что у него могут быть проблемы с стабильностью.
Предоставленный SSH-сервер похож на приложение Linux. На первый взгляд, он поддерживает те же функции, что и его аналог * NIX. Это консольное приложение, но оно работает как служба Windows.
Как включить сервер OpenSSH в Windows 10.
Также вы можете установить клиент SSH с помощью PowerShell.
Откройте PowerShell от имени Администратора и выполните следующую команду и перезагрузите систему:
Файлы OpenSSH Server находятся в папке c:\windows\system32\Openssh. Помимо клиентских приложений SSH, папка содержит следующие серверные инструменты:
Сервер SSH настроен для работы в качестве службы.
На момент написания этой статьи он не запускается автоматически. Вам нужно включить его вручную.
Как запустить сервер OpenSSH в Windows 10.
С помощью этой команды перейдите в каталог \ Openssh
Сервер Sshd сгенерирует ключи
Служба Sshd работает.
Теперь вы можете попробовать его в действии.
Подключение к SSH-серверу в Windows 10.
Откройте свой ssh-клиент. Вы можете запустить его на том же компьютере, например, используя встроенный клиент OpenSSH или запустить его с другого компьютера в своей сети.
В общем случае синтаксис для клиента консоли OpenSSH выглядит следующим образом:
В моем случае команда выглядит следующим образом:
Сервер запускает классические консольные команды Windows, например: more, type, ver, copy.
Но я не могу запустить FAR Manager. Он выглядит совсем сломанным:
Еще одно интересное примечание: вы можете запускать приложения с графическим интерфейсом, такие как проводник. Если вы вошли в ту же учетную запись пользователя, которую используете для SSH, они будут запускаться на рабочем столе:
Встроенный SSH-сервер определенно интересен. Он позволяет управлять компьютером сWindows 10, без установки сторонних инструментов, как rdesktop и др..
Начиная с этой версии, встроенный SSH-сервер в Windows 10 находится на стадии BETA, поэтому в будущем он должен стать, более интересным и полезным.
Использование встроенного SSH клиента в Windows 10
В Windows 10 и Windows Server 2019 появился встроенный SSH клиент, который вы можете использовать для подключения к *Nix серверам, ESXi хостам и другим устройствам по защищенному протоколу, вместо Putty, MTPuTTY или других сторонних SSH клиентов. Встроенный SSH клиент Windows основан на порте OpenSSH и предустановлен в ОС, начиная с Windows 10 1809.
Установка клиента OpenSSH в Windows 10
Клиент OpenSSH входит в состав Features on Demand Windows 10 (как и RSAT). Клиент SSH установлен по умолчанию в Windows Server 2019 и Windows 10 1809 и более новых билдах.
Проверьте, что SSH клиент установлен:
В нашем примере клиент OpenSSH установлен (статус: State: Installed).
Если SSH клиент отсутствует (State: Not Present), его можно установить:
]Бинарные файлы OpenSSH находятся в каталоге c:\windows\system32\OpenSSH\.
Как использовать SSH клиенте в Windows 10?
ssh
usage: ssh [-46AaCfGgKkMNnqsTtVvXxYy] [-b bind_address] [-c cipher_spec]
[-D [bind_address:]port] [-E log_file] [-e escape_char]
[-F configfile] [-I pkcs11] [-i identity_file]
[-J [user@]host[:port]] [-L address] [-l login_name] [-m mac_spec]
[-O ctl_cmd] [-o option] [-p port] [-Q query_option] [-R address]
[-S ctl_path] [-W host:port] [-w local_tun[:remote_tun]]
destination [command]
Для подключения к удаленному серверу по SSH используется команда:
Если SSH сервер запущен на нестандартном порту, отличном от TCP/22, можно указать номер порта:
Например, чтобы подключиться к Linux хосту с IP адресом 192.168.1.202 под root, выполните:
Затем появится запрос пароля указанной учетной записи, укажите пароль root, после чего должна открытся консоль удаленного Linux сервера (в моем примере на удаленном сервере установлен CentOS 8).
Если вы используете SSH аутентификацию по RSA ключам (см. пример с настройкой SSH аутентификации по ключам в Windows), вы можете указать путь к файлу с закрытым ключом в клиенте SSH так:
Также вы можете добавить ваш закрытый ключ в SSH-Agent. Сначала нужно включить службу ssh-agent и настроить ее автозапуск:
set-service ssh-agent StartupType ‘Automatic’
Start-Service ssh-agent
Добавим ваш закрытый ключ в базу ssh-agent:
Теперь вы можете подключиться к серверу по SSH без указания пути к RSA ключу, он будет использоваться автоматически. Пароль для подключения не запрашивается (если только вы не защитили ваш RSA ключ отдельным паролем):
Еще несколько полезных аргументов SSH:
SCP: копирование файлов из/в Windows через SSH
С помощью утилиты scp.exe, которая входит в состав пакета клиента SSH, вы можете скопировать файл с вашего компьютера на SSH сервер:
scp.exe «E:\ISO\CentOS-8.1.1911-x86_64.iso» root@192.168.1.202:/home
Можно рекурсивно скопировать все содержимое каталога:
И наоборот, вы можете скопировать файл с удаленного сервера на ваш компьютер:
scp.exe root@192.168.1.202:/home/CentOS-8.1.1911-x86_64.iso e:\tmp
Итак, теперь вы можете прямо из Windows 10 подключаться к SSH серверам, копировать файлы с помощью scp без установки сторонних приложений и утилит.
Как включить сервер OpenSSH в Windows 10
Как вы, возможно, уже знаете, Windows 10 включает встроенное программное обеспечение SSH — как клиент, так и сервер! В этой статье мы увидим, как включить SSH-сервер.
Примечание. Приложение 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.
Сервер SSH настроен для работы как служба.
На момент написания этой статьи он не запускался автоматически. Вам нужно настроить его вручную.
Как запустить сервер OpenSSH в Windows 10
Вот и все! Все необходимые разрешения установлены.
Теперь вы можете попробовать это в действии.
Подключение к серверу SSH в Windows 10
Откройте свой ssh-клиент. Вы можете запустить его на том же компьютере, например используя встроенный клиент OpenSSH или запустите его с другого компьютера в вашей сети.
В общем случае синтаксис для консольного клиента OpenSSH выглядит следующим образом:
В моем случае команда выглядит следующим образом:
Где winaero — мое имя пользователя Windows, а 192.168.2.96 — IP-адрес моего ПК с Windows 10. Я подключусь к нему с другого ПК, на котором запущен Arch Linux.
Сервер выполняет классические консольные команды Windows, например подробнее, введите, вер, скопируйте.
Но я не могу запустить FAR Manager. Он выглядит черно-белым и сломанным:
Ну, встроенный SSH-сервер определенно интересная вещь для игры. Он позволяет вам управлять машиной Windows без установки таких инструментов, как rdesktop, на вашем компьютере Linux или даже изменения настроек Windows с компьютера Linux, на котором не установлен X-сервер.