Как вы уже знаете, Windows 10 включает в себя встроенное программное обеспечение SSH - как клиент, так и сервер! Это очень полезно, когда вам нужно быстро получить доступ к серверу Linux. Все может быть сделано всего за несколько кликов, без установки дополнительного программного обеспечения.
На компьютерах с Windows, бесплатное ПО PuTTY является стандартом де-факто, когда дело доходит до SSH и Telnet. В Windows 10 Microsoft, наконец, прислушалась к просьбам пользователей после нескольких лет ожиданий, Microsoft добавила поддержку протокола OpenSSH в версии обновления Fall Creators.
На момент написания статьи программное обеспечение OpenSSH, включенное в Windows 10, находится на стадии BETA. Это означает, что у него могут быть небольшие проблемы с стабильностью.
Предоставленный клиент SSH похож на клиент Linux. На первый взгляд, он поддерживает те же функции, что и его аналог * NIX. Это консольное приложение, поэтому вы можете запустить его с помощью командной строки. Давайте включим его.
Как включить клиент OpenSSH в Windows 10.
- Откройте приложение «Параметры» и перейдите в «Приложения» → «Приложения и возможности».
- Справа нажмите «Управление дополнительными компонентами».
- На следующей странице нажмите кнопку «Добавить компонент».
- В списке компонентов выберите OpenSSH Client и нажмите кнопку «Установить».
Включить клиент OpenSSH в Windows 10
Это установит клиентское ПО OpenSSH в Windows 10. Его файлы находятся в папке c:\windows\system32\Openssh. Помимо клиента SSH, папка содержит следующие клиентские инструменты:
- scp.exe
- sftp.exe
- SSH-add.exe
- SSH-agent.exe
- SSH-keygen.exe
- ssh.exe
- и конфигурационный файл «sshd_config».
- Перезагрузите Windows 10, В противном случае вам придется ввести полный путь к этим файлам, чтобы использовать их.
Попытка запустить ssh без перезапуска приводит к этой типичной ошибке.
PS C:\> ssh
sshd : The term 'ssh' is not recognized as the name of a cmdlet, function, script file, or operable program. Check the spelling of the name, or if a path was included, verify that the path is correct and try again.
At line:1 char:1
+ sshd
+ ~~~~
+ CategoryInfo : ObjectNotFound: (ssh:String) [], CommandNotFoundException
+ FullyQualifiedErrorId : CommandNotFoundException
После того, как вы перезагрузили, результат стал более обнадеживающим.
PS C:\> 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]]
[user@]hostname [command]
Также вы можете установить клиент SSH с помощью PowerShell.
Откройте PowerShell от имени Администратора и выполните следующую команду и перезагрузите систему:
Get-WindowsCapability -Online | Where-Object{$_.Name -like “OpenSSH.Client*”}
Теперь вы можете попробовать SSH в действии.
- Откройте новое окно командной строки.
- Введите команду ssh, используя следующий синтаксис:
Например подключение к серверу CentOS 7
ssh username@171.16.1.10
Результат будет следующим:
ssh username@171.16.1.10
The authenticity of host '171.16.1.10 (171.16.1.10)' can't be established.
ED42519 key fingerprint is SHA256:REMOVED.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added '171.16.1.10' (ED42519) to the list of known hosts.
username@171.16.1.10's password:
Last login: Tue Oct 31 00:23:33 2017 from 10.22.202.6
[username@centos ~]$ uname -a
Linux centos 3.10.0-514.10.2.el7.x86_64 #1 SMP Fri Mar 3 00:04:05 UTC 2017 x86_64 x86_64 x86_64 GNU/Linux
Встроенный клиент почти идентичен традиционному SSH-клиенту из пакета OpenSSH, доступного в Linux. И имеет ту же самую консоль. Это очень полезно, когда вам нужно изменить какой-либо параметр конфигурации или перезапустить демон. Если вы используете для управления ПК Linux из командной строки, вы найдете это полезным.
Тем не менее, есть еще много ситуаций, когда добрый старый PuTTY выигрывает гонку. Как по мне, встроенное ПО OpenSSH хорошо работает для базовых функций, если вы не хотите устанавливать PuTTY на ПК. Это также полезно, если вы профессиональный пользователь Linux, который наизусть знает все параметры клиента SSH.