встроенный SSH-клиент появился в Windows 10 и Windows Server 2019. Ssh.exe
может использоваться для безопасного подключения к серверам Linux/UNIX, хостам VMWare ESXi и другим устройствам вместо Putty, MTPuTTY и других сторонних SSH-клиентов. Собственный клиент Windows SSH основан на OpenSSH порт и предустановлен в Windows, начиная с Windows 10 сборки 1809.
Содержание:
- Как включить (установить) клиент OpenSSH в Windows 10?
- Использование собственного SSH-клиента в Windows 10
- Использование SCP.exe для передачи файлов на/с хоста Windows с использованием SSH
Как включить (установить) клиент OpenSSH в Windows 10?
Клиент OpenSSH включен в Windows 10. Функции по запросу (нравиться РСАТ). Клиент SSH установлен по умолчанию в Windows Server 2019, Windows 10 1809 и более поздних сборках.
Убедитесь, что клиент SSH установлен:
Get-WindowsCapability -Online |? Name -like 'OpenSSH.Client*'
В нашем примере клиент OpenSSH установлен (Состояние: установлено).
Если не (Состояние: нет), вы можете установить его, используя:
- Команда PowerShell:
Add-WindowsCapability -Online -Name OpenSSH.Client*
- С DISM:
dism /Online /Add-Capability /CapabilityName: OpenSSH.Server~~~~0.0.1.0
- Через Настройки -> Приложения -> Дополнительные функции -> Добавить функцию. Находить OpenSSH-клиент в списке и нажмите Установить.
Бинарные файлы OpenSSH находятся в c:\Windows\System32\OpenSSH\
.
-
ssh.exe
– исполняемый файл SSH-клиента; -
scp.exe
– инструмент для копирования файлов в сеансе SSH; -
ssh-keygen.exe
– инструмент для генерации ключей аутентификации RSA SSH; -
ssh-agent.exe
– используется для управления ключами RSA; -
ssh-add.exe
– добавляет ключ в базу данных агента SSH.
Использование собственного SSH-клиента в Windows 10
Чтобы запустить клиент SSH, запустите командную строку PowerShell или cmd.exe. Вы можете перечислить доступные параметры и синтаксис для ssh.exe:
ssh
использование: ssh [-46AaCfGgKkMNnqsTtVvXxYy] [-b bind_address] [-c cipher_spec] [-D [адрес_привязки:]порт] [-E log_file] [-e escape_char] [-F конфигурационный_файл] [-I pkcs11] [-i идентификационный_файл] [-J [пользователь@]хост[:порт]] [-L адрес] [-l имя_логина] [-m mac_spec] [-O ctl_cmd] [-o опция] [-p порт] [-Q query_option] [-R адрес] [-S ctl_path] [-W хост: порт] [-w local_tun[:remote_tun]] пункт назначения [команда]
Чтобы подключиться к удаленному серверу по SSH, используйте следующую команду:
ssh [email protected]
Если ваш SSH-сервер работает на порту, отличном от стандартного TCP/22, укажите номер порта:
ssh [email protected] -p port
Например, чтобы подключиться к хосту Linux с IP-адресом 192.168.1.102 от имени пользователя root, выполните следующую команду:
ssh [email protected]
При первом подключении вы увидите запрос на добавление ключа хоста в список доверенных. Тип yes
и нажмите ВВОД. Затем отпечаток ключа хоста добавляется в C:\Users\имя_пользователя\.ssh\known_hosts файл.
Вам будет предложено ввести пароль. Укажите свой root-пароль, и должна открыться консоль вашего удаленного Linux-сервера (в моем примере на удаленном сервере установлена CentOS).
Если вы используете SSH-аутентификацию с ключами RSA (см. пример настройки SSH-аутентификация с использованием ключей в Windows), вы можете указать путь к файлу закрытого ключа в вашем SSH-клиенте следующим образом:
ssh [email protected] -i "C:\Users\username\.ssh\id_rsa"
Вы также можете добавить закрытый ключ в SSH-Agent. Сначала включите службу ssh-agent и настройте для нее автоматический запуск.
set-service ssh-agent StartupType 'Automatic'
Start-Service ssh-agent
Добавьте свой закрытый ключ в базу данных ssh-agent:
ssh-add "C:\Users\username\.ssh\id_rsa"
Тогда вы сможете подключиться к вашему серверу по SSH без указания пути к ключу RSA. Он будет использоваться автоматически. Теперь вы можете безопасно подключиться к своему серверу без пароля (если вы не защитили свой ключ RSA другим паролем):
ssh [email protected]
Вот еще несколько полезных аргументов SSH:
-
-C
— используется для сжатия трафика между клиентом и сервером (полезно в случае медленного или нестабильного соединения) -
-v
— отображает подробную информацию обо всех действиях клиента SSH -
-R/-L
- можно использовать для перенаправлять порты с помощью туннеля SSH
Использование SCP.exe для передачи файлов на/с хоста Windows с использованием SSH
Используя scp.exe инструмент (является частью клиентского пакета Windows 10 SSH), вы можете скопировать файл со своего компьютера на SSH-сервер:
scp.exe "E:\ISO\CentOS-8.1.x86_64.iso" [email protected]:/home
Вы можете рекурсивно скопировать все содержимое каталога:
scp -r E:\ISO\ [email protected]:/home
И наоборот, вы можете передать файл с удаленного сервера на свой компьютер:
scp.exe [email protected]:/home/CentOS-8.1.x86_64.iso c:\iso
Если вы настроите аутентификацию с использованием ключей RSA, вам не будет предложено ввести пароль для передачи файлов. Это полезно, если вы хотите настроить автоматическое копирование файлов по расписанию.
Таким образом, вы можете подключаться к SSH-серверам прямо из вашей Windows 10, копировать файлы с помощью scp без каких-либо сторонних приложений или инструментов.