Использование встроенного 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 без установки сторонних приложений и утилит.
Как к Windows подключить файловую систему удалённого Linux-сервера по SSH?
Брррр…Что!? Сейчас поясню. Есть такая штука – файловая система SSHFS, точнее как бы обёртка под файловую систему, благодаря которой можно подключиться к удалённой файловой системе по защищённому протоколу. Вообще, каких только обёрток не придумали, но не будем сейчас углубляться в историю, а покажем на практике, как это работает. Примечательно то, что на сервере нам не нужно делать ничего особенного, как был поднят SSH, так он и будет поднят.
А зачем?
- Никогда не знаешь, что будет на рабочей станции, когда нужно удалённо поработать. Обычно я использую WinSCP для передачи данных, но это доп.софт, причём довольно специфичный. А здесь практически чистая поддержка, + фичи использования сетевых дисков.
- Для Linux-систем – вообще супер, т.к. не требует настройки сервера (как например NFS), правда немного съедает производительность за счёт криптографии.
Дополнительные компоненты
Под Windows
WinFSP установка под Windows
SSHFS-Win, последняя версия с гитхаба;
SSHFS-Win требует для своей работы WinFSP, так что ставим по порядку.
Под Linux
Это под мой любимый CentOS. Под другими дистрибутивами – аналогично, скорее всего придётся заменить yum на apt-get Готово!
Подключение файловой системы
После того, как компоненты установлены, просто(!) подключаем сетевой диск по следующему пути:
Сетевой диск по SSH
И останется только указать действующие аутентификационные данные этой учётной записи, как наш сетевой диск подключится:
Для Linux соответственно:
Монтируем sshfs под Linux
Всё очень просто! Реально крутая фича, буду пользовать. Если вам показалась эта тема полезной – не поскупитесь на лайк/репост, ну прям душу греет каждый новый отзыв.
Win sshfs windows 10
Create your free GitHub account today to subscribe to this repository for new releases and build software alongside 50 million developers.
billziss-gh released this Jun 8, 2020 · 4 commits to master since this release
- This release requires WinFsp 2020 or later.
- 64-bit and 32-bit installers are included. Use the appropriate one for your architecture.
Change since SSHFS-Win 2020
- The installer is now signed.
- The new prefix \\sshfs.kr supports opening a server’s root directory using key authentication.
billziss-gh released this Jan 24, 2020 · 15 commits to master since this release
- This release requires WinFsp 2020 or later.
- 64-bit and 32-bit installers are included. Use the appropriate one for your architecture.
billziss-gh released this Apr 17, 2019 · 26 commits to master since this release
THIS IS A PRE-RELEASE — PLEASE REPORT ANY PROBLEMS
- This release updates the included SSHFS to the latest upstream version of 3.5.2.
- This release requires WinFsp 2019.3 B2 or later. This WinFsp release includes a fix for a problem with creating directories in an SSHFS-Win file system.
- 64-bit and 32-bit installers are included. Use the appropriate one for your architecture.
billziss-gh released this Aug 1, 2018 · 31 commits to master since this release
THIS IS A PRE-RELEASE — PLEASE REPORT ANY PROBLEMS
- This release updates the included SSHFS to the latest upstream version of 3.2.
- This release requires WinFsp 2018.2 B2 or later.
- 64-bit and 32-bit installers are included. Use the appropriate one for your architecture.
billziss-gh released this Dec 8, 2017 · 45 commits to master since this release
This release includes both 64-bit and 32-bit installers:
- WinFsp 2017.2 (GOLD) or later is required. Prior versions will not work.
- The 64-bit installer installs in the Program Files folder on a 64-bit machine. This is a change from the current installer.
- The 32-bit installer installs in the Program Files (x86) folder on a 64-bit machine and in the Program Files folder on a 32-bit machine.
- You cannot have both a 64-bit installation and a 32-bit installation on the same machine.