Как использовать собственный SSH-клиент в Windows 10?
Встроенный SSH-клиент появился в Windows 10 и Windows Server 2019.
Ssh.exeможет использоваться для безопасного подключения к серверам Linux/UNIX, хостам VMWare ESXi и другим устройствам вместо Putty, MTPuTTY и других сторонних SSH-клиентов. Собственный SSH-клиент Windows основан на порте OpenSSH и предустановлен в Windows, начиная с Windows 10, сборка 1809.
Как включить (установить) клиент OpenSSH в Windows 10?
Клиент OpenSSH включен в состав Windows 10 Функции по требованию (например RSAT). Клиент SSH установлен по умолчанию в Windows Server 2019, Windows 10 1809 и более поздних сборках.
Убедитесь, что SSH-клиент установлен:
Get-WindowsCapability -Online | ? Name -like 'OpenSSH.Client*'
В нашем примере клиент OpenSSH установлен (Состояние: Установлен).
Если нет (Состояние: Нет), вы можете установить его, используя:
Команда PowerShell:
Add-WindowsCapability -Online -Name OpenSSH.Client*С ДИСМ:
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.
Вы также можете установить OpenSSH в предыдущих версиях Windows: просто загрузите и установите Win32-OpenSSH с GitHub (пример можно найти в статье: Настройка SSH FTP в Windows).
Использование собственного SSH-клиента в Windows 10
Чтобы запустить SSH-клиент, запустите приглашение PowerShell или cmd.exe. Вы можете перечислить доступные параметры и синтаксис ssh.exe:
sshusage: 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 username@hostЕсли ваш SSH-сервер работает на порту, отличном от стандартного TCP/22, укажите номер порта:
ssh username@host -p portНапример, чтобы подключиться к хосту Linux с IP-адресом 192.168.1.102 от имени пользователя root, выполните следующую команду:
ssh root@192.168.1.102При первом подключении вы увидите запрос на добавление ключа хоста в список доверенных. Тип
yes
и нажмите ВВОД. Затем отпечаток ключа хоста добавляется в файл C:\Users\username\.ssh\known_hosts .
Вам будет предложено ввести пароль. Укажите свой пароль root, и должна открыться консоль вашего удаленного сервера Linux (в моем примере на удаленном сервере установлена CentOS).
Используя SSH, вы можете подключаться как к ОС *Nix, так и к Windows. В одной из предыдущих статей мы показали, как настроить сервер OpenSSH в Windows 10 и подключиться к нему с хоста Windows с помощью SSH-клиента.
Если вы используете аутентификацию SSH с ключами RSA (см. пример настройки аутентификации SSH с использованием ключей в Windows), вы можете указать путь к файлу закрытого ключа в вашем SSH-клиенте следующим образом:
ssh root@192.168.1.102 -i "C:\Users\username\.ssh\id_rsa"Вы также можете добавить закрытый ключ в SSH-Агент. Сначала включите службу ssh-agent и настройте для нее автоматический запуск.
set-service ssh-agent StartupType 'Automatic'
Start-Service ssh-agentДобавьте свой закрытый ключ в базу данных ssh-агента:
ssh-add "C:\Users\username\.ssh\id_rsa"Тогда вы сможете подключиться к вашему серверу по SSH без указания пути к ключу RSA. Он будет использоваться автоматически. Теперь вы можете безопасно подключиться к своему серверу без пароля (если вы не защитили свой ключ RSA другим паролем):
ssh root@192.168.1.102Вот еще несколько полезных аргументов SSH:
-C- используется для сжатия трафика между клиентом и сервером (полезно в случае медленных или нестабильных соединений)
-v— отображает подробную информацию обо всех действиях SSH-клиента
-R/-L- может использоваться для переадресации портов с использованием SSH-туннеля
Использование SCP.exe для передачи файлов на/с хоста Windows с использованием SSH
С помощью инструмента scp.exe (входит в состав пакета SSH-клиента Windows 10) вы можете скопировать файл со своего компьютера на SSH-сервер:
scp.exe "E:\ISO\CentOS-8.1.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.x86_64.iso c:\isoЕсли вы настроите аутентификацию с использованием ключей RSA, вам не будет предложено вводить пароль для передачи файлов. Это полезно, если вы хотите настроить автоматическое копирование файлов по расписанию.
Таким образом, вы можете подключаться к SSH-серверам непосредственно из Windows 10, копировать файлы с помощью scp без каких-либо других сторонних приложений или инструментов.





