У Windows 10 і Windows Server 2019 з'явився вбудований SSH клієнт, який ви можете використовувати для підключення до * Nix серверів, ESXi хостам і інших пристроїв по захищеному протоколу, замість Putty, MTPuTTY або інших сторонніх SSH клієнтів. Вбудований SSH клієнт Windows заснований на порте OpenSSH і встановлено в ОС, починаючи з Windows 10 1809.
зміст:
- Установка клієнта OpenSSH в Windows 10
- Як використовувати SSH клієнта в Windows 10?
- SCP: копіювання файлів з / в Windows через SSH
Установка клієнта 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 і натисніть кнопку встановити.
] Бінарні файли 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 username @ host
Якщо 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 ви можете підключатися не тільки до * Nix подібним ОС, але і до Windows. В одній з попередніх статей ми показали, як налаштувати OpenSSH сервер на Windows 10 і підключитися до нього з іншого комп'ютера Windows за допомогою SSH клієнта.Якщо ви використовуєте 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:
-C
- стискати трафік між клієнтом і сервером (корисно на повільних і нестабільних підключених);-v
- виведення докладної інформації про всі дії клієнта ssh;-R
/-L
- можна використовувати для перекидання портів через SSH тунель.
SCP: копіювання файлів з / в Windows через SSH
За допомогою утиліти scp.exe, яка входить до складу пакету клієнта SSH, ви можете скопіювати файл з вашого комп'ютера на SSH сервер:
scp.exe "E: \ ISO \ CentOS-8.1.1911-x86_64.iso" [email protected]: / home
Можна рекурсивно скопіювати весь вміст каталогу:
scp -r E: \ ISO \ [email protected]: / home
І навпаки, ви можете скопіювати файл з віддаленого сервера на ваш комп'ютер:
scp.exe [email protected]: /home/CentOS-8.1.1911-x86_64.iso e: \ tmp
Отже, тепер ви можете прямо з Windows 10 підключатися до SSH серверів, копіювати файли за допомогою scp без встановлення сторонніх додатків і утиліт.