Нативный SSH клиент в Windows 10: как включить
С учетом того, что OpenSSH пока пребывает на этапе бета-тестирования, то нативный SSH клиент в Windows в настоящем его виде содержит уйму разнокалиберных багов (207 штук, по данным профильной странички на GitHub). Потому если экспериментировать недосуг, то лучше воспользоваться PuTTY.
А вот если тоже хочется наконец-то увидеть настоящий (т.е. почти такой же, как в macOS или Linux) SSH клиент на своем Windows-ПК, то тогда, конечно, вы зашли по адресу.
Тем не менее, повторимся, OpenSSH в стандартную комплектацию ОС Windows 10 пока не входит и устанавливать клиент нужно отдельно. Времени вся процедура занимает не много, однако требует внимательного к себе отношения.
Обязательным условием также является комп с Windows 10 в самой свежей версии, то бишь со всеми обновлениями. Их наличие лучше предварительно проверить, чтобы в процессе все работало должным образом. Проверяем и приступаем. Значит.
как активировать нативный SSH клиент в Windows 10
включаем Режим разработчика в Windows 10
Он нужен для того, чтобы загрузить новую фичу (которая, как мы уже сказали, пока является «бетой»). В Win 10 встроенный «Режим разработчика» включить можно следующим образом:
- кликаем «Пуск» -> «Параметры» -> «Обновление и безопасность»;
- в открывшемся окне, в левой его колонке, жмем «Для разработчиков«;
- затем в правой части окна активируем опцию «Режим разработчика«;
- подтверждаем решение и ждем пару секунд, пока загрузятся дополнительные компоненты системы (файлик на 6MB);
- перезагружаем комп.
устанавливаем клиент OpenSSH-клиент
В это посте мы приведем два простых метода установки OpenSSH в Win 10: через графический интерфейс системы и через оболочку PowerShell. Первый способ проще (и привычнее для обычного юзера), второй — быстрее, но оба в данном случае подходят одинаково. Итак:
метод #1 — устанавливаем OpenSSH-клиент через интерфейс Windows 10
В поисковой строке системы пишем «Управление дополнительными компонентами» и затем переходим по соответствующей ссылке в результатах поиска (либо кликаем «Параметры», потом — «Приложения» и в окне «Приложения и возможности» жмем линк «Управление дополнительными компонентами»).
В следующем окне кликаем «Добавить компонент«, прокручиваем открывшийся список вниз (там в основном названия шрифтов) и выбираем пункт «OpenSSH Client (Beta)«.
К слову, тут же вы найдете и «OpenSSH Server (Beta)«, но в отличие от клиента он, во-первых, устанавливается и настраивается несколько иначе, а во-вторых, потом позволит вашему компу осуществлять потенциально небезопасные SSH-подключения. Потому оставим сосредотачиваемся на нашей задаче, кликаем «OpenSSH Client (Beta)» и запускаем процедуру установки.
После её завершения данная компонента отображаться в этом списке уже не будет, а появится в списке дополнительных компонентов в предыдущем окне. Потому к нему и возвращаемся.
На данном этапе Windows 10 автоматически установит все необходимое. Потому далее потребуется только перезагрузить компьютер, чтобы все изменения вступили в силу. Перезагрузка в данном случае важна, иначе система не закончит установку новой компоненты и потом просто не определит команду SSH, которую вы будете вводить. В общем, перезагружаемся.
Добавим также, что если вам понадобится удалить SSH, то для этого надо снова зайти в раздел «Управление дополнительными компонентами» настроек системы, в списке выбрать «OpenSSH Client (Beta)«, нажать кнопку «Удалить» и потом перезагрузить комп.
метод #2 — устанавливаем OpenSSH-клиент через Powershell
Этот метод времени занимает меньше, потому лучше подходит для ситуаций, когда, скажем, SSH нужно поставить сразу на несколько машин.
Первым делом запускаем PowerShell с правами администратора (жмём клавиши «Windows+X» и кликаем «Windows PowerShell (Администратор)«). Далее проверяем доступность OpenSSH для установки такой командой:
Система должна показать примерно такой ответ, как на этом скрине, где «NotPresent» означает, что запрашиваемый компонент не установлен:
Исходя из того, что нужный нам компонент доступен, запускаем его установку следующей командой (если он не доступен, то необходимо проапдейтить ОС и/или включить Режим разработчика):
По факту выполнения на экране вы увидите примерно такой ответ:
Кстати, после завершения процедуры установки OpenSSH-клиента комп надо перезагрузить (хотя система может показать RestartNeeded : false, т.е. перезагрузка не требуется). Требуется! Перезагружаем комп и переходим к завершающему этапу мероприятия.
запускаем нативный SSH клиент в Windows 10
Собственно, теперь остается только запустить SSH. Можно в PowerShell, можно через командную строку Windows 10. Если в PowerShell, то жмем Windows + X, в меню кликаем «Windows PowerShell» и вводим ssh.
В Win 10 эта команда работает точно так же, как и в macOS или Linux. Так что, детально описание каждого аргумента вы запросто найдете в Google. Например, для соединения с SSH-сервером evilserver.com с использованием имени «Hoid«, вводим команду:
По умолчанию OpenSSH будет пытаться установить SSH-соединение через 22-й порт. Чтобы переключить порт, в конце той команды нужно указать аргумент -p с номером порта. Например:
При первом подключении вам будет предложено сначала принять ключ, а затем — войти в свою учетную запись на удаленном сервере. Только после этого вам будет разрешено запускать свои команды. Чтобы безопасно завершить текущий сеанс SSH просто введите exit.
Ну, и еще раз отметим, что по состоянию на сейчас OpenSSH еще не является полноценной функцией ОС Windows 10. PuTTy работает стабильнее и кроме того имеет более простой и понятный интерфейс. Но, как вы понимаете, как только нативный SSH в Microsoft доведут до ума, использование сторонних клиентов ограничат. Потому привыкать к OpenSSH так или иначе придется …
Windows 10 SSH vs PuTTY: что выбрать?
Одним из наиболее распространенных способов связи между компьютерами, в частности машинами Linux и веб-серверами, является SSH. Когда дело доходит до установления такого рода связи в Windows, по умолчанию выбирается установка PuTTY.
Однако благодаря Windows PowerShell вам может больше не понадобиться PuTTY. Давайте посмотрим, как настроить SSH-доступ в Windows 10 и могут ли новые инструменты вытеснить PuTTY.
Как установить SSH в Windows 10 (кратко)
Установка функциональности SSH в Windows 10 PowerShell достаточно проста, но пункты меню для нее несколько скрыты. Вот что вам нужно сделать:
- Откройте Настройки.
- Просмотр приложений.
- Перейти к управлению дополнительными функциями.
- Нажмите Добавить функцию.
- Выберите OpenSSH Client.
- Подождите, затем перезагрузите компьютер.
После этого вы можете установить SSH-соединение с другими совместимыми компьютерами. Если SSH-сервер был установлен и настроен на удаленном компьютере, можно установить соединение.
Подробная инструкция по установке
Реализация SSH в Windows 10 в PowerShell является версией проекта OpenSSH. Вы можете найти страницу проекта на GitHub.
Вы можете обнаружить, что SSH уже установлен на вашем компьютере с Windows 10 (он был включен в обновление за апрель 2018 года), но если нет, его можно легко добавить.
Чтобы проверить, откройте меню «Опытный пользователь» (щелкните правой кнопкой мыши Пуск или нажмите клавишу Windows + X ) и выберите Windows PowerShell. Здесь введите команду «ssh». Если SSH еще не установлен, вы увидите такой экран:
Исправить это достаточно просто. Нажмите клавишу Windows + I, чтобы открыть представление «Настройки», затем перейдите в «Приложения» и найдите «Управление дополнительными функциями . Нажмите здесь, затем найдите запись с пометкой «OpenSSH».
Если вы не видите его, нажмите Добавить функцию, а затем прокрутите вниз, пока не увидите OpenSSH Client. Нажмите, чтобы развернуть и просмотреть описание.
Когда вы будете готовы, нажмите Установить, чтобы добавить его на свой компьютер. Через несколько мгновений будет установлен новый SSH-клиент для Windows PowerShell. Стоит перезагрузить Windows, чтобы убедиться, что приложение установлено правильно.
Замечание о приложении SSH Server
Стоит подчеркнуть тот факт, что вы также можете установить SSH-сервер. Хотя маловероятно, что Microsoft разрешит любую форму универсального удаленного администрирования через SSH, использование его в качестве опции, тем не менее, полезно.
Чтобы установить это, повторите описанные выше шаги, выбрав OpenSSH Server .
Использование SSH в Windows PowerShell
После того, как SSH установлен и работает, вы можете использовать его для связи с другим компьютером. Например, вы можете использовать его для доступа к Raspberry Pi (один из нескольких вариантов об этом маленьком компьютере).
Использование простое. В PowerShell введите команду ssh, затем имя пользователя для учетной записи на удаленном устройстве и его IP-адрес.
Например, чтобы подключиться к моей коробке Raspberry Pi под управлением RetroPie, я использовал:
На этом этапе удаленное устройство должно предложить вам принять безопасный ключ. Введите Да, чтобы согласиться с этим, затем введите в командной строке пароль для имени пользователя, которое вы использовали.
Через несколько минут вы будете подключены к удаленному устройству Linux, готовому выполнять любые необходимые вам задачи.
SSH-функции PowerShell и PuTTY
PuTTY долгое время был предпочтительным выбором для SSH на Windows. Будь то управление веб-серверами, доступ к Интернету вещей, устройства или удаленное администрирование ПК с Linux, это легкое и простое в использовании приложение.
Одной из причин стойкости PuTTY является широкий выбор функций. Итак, может ли SSH в Windows PowerShell конкурировать с PuTTY?
Ну, с точки зрения обеспечения функциональности SSH, да, это может. Вы можете узнать, как использовать некоторые расширенные функции SSH в Windows 10, введя команду ssh:
Результирующий список опций обрисовывает в общих чертах особенности. Например, вы можете указать порт:
Хотя вы можете связать адрес с OpenSSH в Windows, вы ограничены количеством адресов, которые можете сохранить.
Есть причина, почему PuTTY остается популярным. Приложение не только позволяет сохранять (и называть) ваши соединения, но и поддерживает соединения по Telnet, Serial и другим протоколам. Внешний вид PuTTY также настраивается, его можно быстро запустить с рабочего стола. В общем, PuTTY — это надежная утилита, которая обрабатывает практически все, что вы можете на нее бросить.
Почему SSH, когда вы можете использовать Linux?
Хотя удаленное управление Linux через SSH может быть жизненно важным, вам может даже не понадобиться SSH. В Windows 10 теперь есть подсистема Linux и командная строка в стиле Bash.
Это означает, что вы можете легко вводить команды Linux и получать реалистичные ответы. Хотя это может быть не идеально для всех сценариев, если вам нужен доступ к Linux для обучения в колледже или для обучения и у вас нет доступа по SSH (независимо от приложения) к устройству Linux, это может быть идеальным вариантом.
Конечно, это не единственный вариант. Если вам нужно практиковать команды Bash в Windows, вы всегда можете настроить виртуальную машину. Просто установите дистрибутив Linux в него и (если разрешить аппаратное обеспечение) у вас есть готовая к использованию ОС Linux.
Не пора ли отказаться от PuTTY в Windows 10?
SSH прост в использовании в Windows 10 PowerShell. Тем не менее, отсутствие функций, а также необходимость загрузки еще нескольких щелчков означает, что вы можете предпочесть использовать PuTTY. В любом случае, тот факт, что в Windows 10 есть два хороших варианта SSH, стоит отметить.
Использование встроенного 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 клиент установлен:
Get-WindowsCapability -Online | ? Name -like ‘OpenSSH.Client*’
В нашем примере клиент OpenSSH установлен (статус: State: Installed).
Если SSH клиент отсутствует (State: Not Present), его можно установить:
- С помощью команды PowerShell: Add-WindowsCapability -Online -Name OpenSSH.Client*
- С помощью DISM: dism /Online /Add-Capability /CapabilityName:OpenSSH.Server
0.0.1.0
]Бинарные файлы OpenSSH находятся в каталоге c:\windows\system32\OpenSSH\.
- ssh.exe – это исполняемый файл клиента SSH;
- scp.exe – утилита для копирования файлов в SSH сессии;
- ssh-keygen.exe – утилита для генерации ключей аутентификации;
- ssh-agent.exe – используется для управления ключами;
- ssh-add.exe – добавление ключа в базу ssh-агента.
Как использовать SSH клиенте в Windows 10?
Чтобы запустить SSH клиент, запустите командную строку PowerShell или cmd.exe . Выведите доступные параметры и синтаксис утилиты ssh.exe, набрав команду:
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, можно указать номер порта:
ssh username@host -p port
Например, чтобы подключиться к Linux хосту с IP адресом 192.168.1.202 под root, выполните:
При первом подключении появится запрос на добавление ключа хоста в доверенные, наберите yes -> Enter (при этом отпечаток ключа хоста добавляется в файл C:\Users\username\.ssh\known_hosts).
Затем появится запрос пароля указанной учетной записи, укажите пароль root, после чего должна открытся консоль удаленного Linux сервера (в моем примере на удаленном сервере установлен CentOS 8).
Если вы используете SSH аутентификацию по RSA ключам (см. пример с настройкой SSH аутентификации по ключам в Windows), вы можете указать путь к файлу с закрытым ключом в клиенте SSH так:
ssh root@192.168.1.92 -i «C:\Users\username\.ssh\id_rsa»
Также вы можете добавить ваш закрытый ключ в SSH-Agent. Сначала нужно включить службу ssh-agent и настроить ее автозапуск:
set-service ssh-agent StartupType ‘Automatic’
Start-Service ssh-agent
Добавим ваш закрытый ключ в базу ssh-agent:
Теперь вы можете подключиться к серверу по SSH без указания пути к RSA ключу, он будет использоваться автоматически. Пароль для подключения не запрашивается (если только вы не защитили ваш RSA ключ отдельным паролем):
Еще несколько полезных аргументов SSH:
- -C – сжимать трафик между клиентом и сервером (полезно на медленных и нестабильных подключениях);
- -v – вывод подробной информации обо всех действия клиента ssh;
- -R / -L – можно использовать для проброса портов через 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 -r E:\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 без установки сторонних приложений и утилит.















