Как открыть ssh на windows
Подключение к 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
В 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 без установки сторонних приложений и утилит.
Безопасная оболочка (SSH)
Secure Shell (SSH) позволяет удаленно администрировать и настраивать Windows устройства IoT Core.
использование клиента Windows 10 OpenSSH
клиент Windows OpenSSH требует, чтобы ос узла клиента SSH была Windows 10 версии 1803 (17134). кроме того, устройство Windows 10 IoT Базовая должно работать под RS5 Windows Insider Preview выпуска 17723 или более поздней версии.
клиент OpenSSH был добавлен в Windows 10 в 1803 (сборка 17134) как дополнительный компонент. чтобы установить клиент, можно выполнить поиск по запросу управление дополнительными компонентами в параметрах Windows 10. Если клиент OpenSSH не указан в списке установленных компонентов, выберите Добавить компонент.
Затем выберите в списке клиент OpenSSH и нажмите кнопку установить.
Чтобы войти с помощью имени пользователя и пароля, используйте следующую команду:
где host — это IP-адрес Windows устройства IoT Core или имя устройства.
При первом подключении появится сообщение следующего вида:
Введите Да и нажмите клавишу Ввод.
Если необходимо войти как Дефаултаккаунт, а не как администратор, потребуется создать ключ и использовать его для входа. На рабочем столе, с которого планируется подключиться к устройству IoT, откройте окно PowerShell и перейдите в папку личных данных (например, CD
Зарегистрируйте ключ с помощью ssh-агента (необязательно, для интерфейса единого входа). Обратите внимание, что SSH-Add необходимо выполнять из папки, которая является ACL, в качестве пользователя, выполнившего вход в систему (Builtin \ администраторы NT_AUTHORITY \system также ОК). По умолчанию компакт-диск
из PowerShell должен быть достаточно, как показано ниже.
Если ключ не зарегистрирован в ssh-agent, он должен быть указан в командной строке для входа:
Если закрытый ключ зарегистрирован в ssh-agent, необходимо указать только DefaultAccount@host.
При первом подключении появится сообщение следующего вида:
Введите Да и нажмите клавишу Ввод.
Теперь вы должны подключиться как дефаултаккаунт
Кроме того, необходимо задать список ACL для administrators_authorized_keys в соответствии с ACL ssh_host_dsa_key в том же каталоге.
Настройка ACL с помощью PowerShell
Использование PuTTY
Скачивание SSH-клиента
Чтобы подключиться к устройству с помощью SSH, сначала необходимо скачать клиент SSH, например, выполнив.
Подключение к устройству
Чтобы подключиться к устройству, сначала необходимо получить IP-адрес устройства. после загрузки устройства Windows IoT Core на экране, подключенном к устройству, будет отображаться IP-адрес:
Если соединение прошло успешно, login as: на экране появится запрос на вход.
Введите Administrator и нажмите клавишу ВВОД. Затем введите пароль по умолчанию в p@ssw0rd качестве пароля и нажмите клавишу ВВОД.
Если вы смогли успешно войти в систему, вы увидите нечто вроде:
Обновление пароля учетной записи
Настоятельно рекомендуется обновить пароль по умолчанию для учетной записи администратора.
Для этого введите следующую команду в консоли выводимых команд, заменив [new password] строгим паролем:
настройка устройства Windows IoT Core
чтобы иметь возможность развертывать приложения из Visual Studio 2017, необходимо убедиться, что Удаленный отладчик Visual Studio запущена на устройстве Windows IoT Core. Удаленный отладчик должен запускаться автоматически во время загрузки компьютера. Чтобы дважды проверить, используйте команду TList, чтобы вывести список всех запущенных процессов из PowerShell. На устройстве должно быть открыто два экземпляра msvsmon.exe.
время ожидания Удаленный отладчик Visual Studio может истекает после длительных периодов бездействия. если Visual Studio не удается подключиться к устройству Windows IoT Core, попробуйте перезагрузить устройство.
При необходимости можно также переименовать устройство. Чтобы изменить имя компьютера, используйте setcomputername программу:
Чтобы изменения вступили в силу, необходимо перезагрузить устройство. Команду можно использовать shutdown следующим образом:
Часто используемые служебные программы
Подключение с помощью SSH
С помощью OpenSSH можно подключиться к тестовым устройствам и виртуальным машинам фабрики, а также выполнять команды или передавать файлы. OpenSSH (Secure Shell) — Стандартный протокол для безопасного подключения терминала.
Вы можете использовать SSH для подключения ко всем образам ОС фабрики.
Что необходимо для подключения с помощью SSH
Чтобы подключиться к устройству с помощью SSH, вам потребуется:
Запуск сервера SSH
На изображениях, содержащих манифест компонента Виндовскоренонпродуктионфм, можно добавить WCOS_OPENSSH_AUTOSTART компонент для автоматического запуска сервера SSH.
Подключение с использованием имени и пароля
Чтобы иметь возможность подключиться с помощью имени пользователя и пароля, необходимо сначала настроить имя пользователя и пароль. Настройка имени пользователя и пароля SSH зависит от продукта фабричной ОС, который вы используете.
Имя пользователя и пароль в фабричной ОС
Заводская ОС включает встроенную учетную запись администратора, которую можно использовать для подключения по протоколу SSH:
Соединение с помощью пары ключей
Если у вас есть пара ключей для SSH (Дополнительные сведения см. в документации клиента SSH), ее можно использовать вместо имени пользователя и пароля.
Вам потребуется открытый ключ в формате OpenSSH. Запустите ssh-keygen.exe на техническом компьютере, чтобы создать его. ssh-keygen входит в состав Windows.
Создание пары ключей
В командной строке на техническом компьютере выполните команду, ssh-keygen.exe чтобы создать общедоступную и закрытую пару ключей. При выполнении этой команды можно сохранить ключи в расположении на компьютере, а также задать пароль:
Эта команда выводит запрос на ввод следующих сведений и предоставляет выходные данные, аналогичные приведенным ниже.
Перейдите в папку, в которой вы сохранили ключи, вы увидите закрытый ключ, у которого нет расширения и открытый ключ с расширением PUB.
Откройте файл открытого ключа в текстовом редакторе. Открытый ключ не является конфиденциальным. Вот как они выглядят:
Скопируйте содержимое открытого ключа в буфер обмена.
Подключение на устройство вкос с помощью портала устройств. Навеигате на вкладку SSH в левой области и скопируйте открытый ключ из буфера обмена в поле открытый ключ для нужного пользователя.
Подключение
После настройки проверку подлинности можно подключиться к устройству ОС фабрики.
Откройте окно командной строки на техническом компьютере.
Подключение на устройство:
Где user — это имя пользователя, выбранное при настройке SSH, а 192.168.1.2 — IP-адрес устройства вашей ОС фабрики.
Где C:\Users\User/.ssh/id_rsa идентификатор закрытого ключа user — это имя пользователя, выбранное при настройке SSH, а 192.168.1.2 — IP-адрес устройства вашей ОС фабрики.
Введите пароль для пользователя, если вы подключаетесь с именем пользователя и паролем, или если вы настроили ключ так, чтобы он затребовал пароль.
Безопасный FTP
Вы можете использовать SSH для передачи файлов по протоколу SFTP. Если вы включили SSH на устройстве ОС фабрики, вы также сможете подключиться по протоколу SFTP.
Если вы предпочитаете программу командной строки, вы можете использовать sftp и scp :
указанные выше служебные программы включены в Windows и могут запускаться путем запуска командной строки.
4 простых способа для работы с SSH в Windows
SSH является основным решением для безопасного доступа к удаленным терминалам в Linux и других UNIX-подобных системах. Если у вас есть удаленный SSH сервер, к которому вы хотите получить доступ, вам придется загрузить SSH клиент. В Windows его нет, хотя Mac OS X, Linux и даже Google Chrome OS имеют встроенные SSH-клиенты.
Конечно, в Windows есть клиент Telnet, однако он ужасно небезопасен и не рекомендуется к использованию, если только вы не подключены напрямую к удаленной системе и не подключены к Интернету.
FireSSH для Firefox
Firefox известен своими мощными расширениями для браузера, FireSSH является одним из них. Это SSH-клиент, реализованный в виде расширения Firefox, которое работает в вашем браузере, точно так же как FireFTP добавляет мощные возможности FTP в Firefox.
После установки FireSSH нажмите кнопку меню Firefox, выберите Веб-разработчику и нажмите FireSSH, чтобы запустить его. Главная вкладка позволяет вам ввести имя учетной записи, имя хоста и логин, необходимые для вашего SSH-сервера. Вкладка Дополнительно позволяет вам настроить SSH туннелирование, чтобы вы могли туннелировать свой трафик через удаленный SSH сервер. SSH туннелирование имеет множество применений, включая защиту от подслушивания в общедоступных Wi-Fi сетях, удаленный доступ к ресурсам в локальной сети, обход веб-фильтрации и просмотр Интернета, как если бы вы находились в другой стране.
Расширение FireSSH также работает на Mac OS X и Linux.
Secure Shell для Google Chrome
FireSSH также доступен и для Google Chrome, но Google предоставляет собственное официальное клиентское веб-приложение SSH. Просто установите приложение Secure Shell из интернет-магазина Chrome. Хоть оно и написано с использованием веб-технологий и работает в браузере Chrome, оно работает полностью автономно, поэтому вам не нужен доступ в Интернет, если вы хотите подключиться к SSH-серверу, работающему в локальной сети.
PuTTY для ОС Windows
PuTTY является наиболее популярным приложением для подключения к SSH-серверам на Windows. Оно с полностью открытым исходным кодом и, более того, доступно в виде портативного приложения, поэтому вы можете добавить его в свой набор инструментов портативных приложений и использовать в любом месте. Интерфейс PuTTY на первый взгляд может показаться немного пугающим и сложным, но это проходит, как только вы начинаете его использовать.
PuTTY предлагает больше мощности и опций, чем другие клиенты SSH, работающие в качестве настольного приложения Windows. Как и FireSSH, PuTTY также предлагает функции SSH туннелирования. Чтобы использовать PuTTY, достаточно запустить putty.exe, ввести имя хоста (или IP-адрес) удаленного сервера, убедиться, что порт правильный, и нажать Open. PuTTY подключится к серверу и предложит ввести имя пользователя и пароль. Вы также можете сохранить информацию о сеансе, для этого нажмите опцию Default Settings затем Save и PuTTY автоматически будет использовать сохраненные настройки каждый раз, когда он открывается.
OpenSSH для Cygwin Terminal
Если вы регулярно используете стандартную команду SSH на Linux, Mac OS X и других UNIX-подобных системах, вы можете установить и применить ту же самую команду на Windows, вместо того чтобы связываться с графическими программами. OpenSSH напрямую не совместима с Windows, но может быть установлена в составе пакета утилит типа UNIX для Windows, поставляемого Cygwin.
Если вы новичок в SSH, вы, вероятно, захотите использовать одну из графических опций выше. Однако, если у вас есть опыт использования команды SSH на других платформах, вы обнаружите, что команда OpenSSH, включенная в Cygwin, работает точно так же, как и на других платформах, с тем же синтаксисом.
После завершения процесса установки вы можете запустить приложение Cygwin Terminal и выполнить те же SSH-команды, что и в UNIX-подобных операционных системах.
Какое приложение лучше использовать?
И так, какой все-таки клиент SSH лучший? Это зависит от того, что вам нужно:
Если бы нам пришлось порекомендовать одну из них, мы бы сказали, что большинству пользователей подойдет PuTTY.
Какой ваш любимый клиент SSH на Windows? Оставьте свой комментарий и дайте нам знать, особенно если мы не упомянули об этом выше.































