У Windows 10 і Windows Server 2019 з’явився вбудований SSH клієнт, Який ви можете використовувати для підключення до * Nix серверів, ESXi хостам і інших пристроїв по захищеному протоколу, замість Putty, MTPuTTY або інших сторонніх SSH клієнтів. Вбудований SSH клієнт Windows заснований на порте OpenSSH і встановлено в ОС, починаючи з 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.Client установка в windows 10

У нашому прикладі клієнт OpenSSH встановлений (статус: Стан: встановлено).

Якщо SSH клієнт відсутній (Штат: Не присутній), Його можна встановити:

  • За допомогою команди PowerShell: Add-WindowsCapability -Online -Name OpenSSH.Client*
  • За допомогою DISM: dism /Online /Add-Capability /CapabilityName:OpenSSH.Client~~~~0.0.1.0
  • Через Параметри -> Програми -> Додаткові можливості -> Додати компонент. Знайдіть у списку клієнт OpenSSH і натисніть кнопку встановити.

клієнт openssh встановити компонент

]Бінарні файли OpenSSH знаходяться в каталозі c: windows system32 OpenSSH .

  • ssh.exe – це виконуваний файл клієнта SSH;
  • scp.exe – утиліта для копіювання файлів в SSH сесії;
  • ssh-keygen.exe – утиліта для генерації ключів аутентифікації;
  • ssh-agent.exe – використовується для управління ключами;
  • ssh-add.exe – додавання ключа в базу ssh-агента.

виконувані файли OpenSSH

Ви можете встановити OpenSSH і в попередніх версіях Windows – просто скачайте і встановіть Win32-OpenSSH з GitHub (є приклад в статті “Налаштування SSH FTP в Windows”).

Як використовувати 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 клієнта в windows

Для з’єднання з віддаленим сервером по SSH використовується команда:

ssh username@host

Якщо SSH сервер запущений на нестандартному порту, відмінному від TCP / 22, можна вказати номер порту:

ssh username@host -p port

Наприклад, щоб підключитися до Linux хосту з IP адресою 192.168.1.202 під root, виконайте:

ssh root@192.168.1.202

При першому підключенні з’явиться запит на додавання ключа хоста в довірені, наберіть yes -> Enter (при цьому відбиток ключа хоста додається в файл C: Users ім’я користувача .ssh known_hosts).

Потім з’явиться запит пароля зазначеної облікового запису, вкажіть пароль root, після чого повинна відкрити консоль віддаленого Linux сервера (в моєму прикладі на віддаленому сервері встановлений CentOS 8).

підключення з windows 10 в linux за допомогою вбудованого ssh клієнта

За допомогою SSH ви можете підключатися не тільки до * Nix подібним ОС, але і до Windows. В одній з попередніх статей ми показали, як налаштувати OpenSSH сервер на Windows 10 і підключитися до нього з іншого комп’ютера Windows за допомогою SSH клієнта.

Якщо ви використовуєте SSH аутентифікацію по RSA ключів (див. Приклад з налаштуванням SSH аутентифікації по ключам в Windows), ви можете вказати шлях до файлу з закритим ключем в клієнті SSH так:

ssh root@192.168.1.92 -i "C:Usersusername.sshid_rsa"

Також ви можете додати ваш закритий ключ в SSH-Agent. Спочатку потрібно включити службу ssh-agent і налаштувати її автозапуск:

set-service ssh-agent StartupType ‘Automatic’
Start-Service ssh-agent

Додамо ваш закритий ключ в базу ssh-agent:

ssh-add "C:Usersusername.sshid_rsa"

Тепер ви можете підключитися до сервера по SSH без вказівки шляху до RSA ключу, він буде використовуватися автоматично. Пароль для підключення не вимагається (якщо тільки ви не захистили ваш RSA ключ окремим паролем):

ssh root@192.168.1.92

Ще кілька корисних аргументів SSH:

  • -C – стискати трафік між клієнтом і сервером (корисно на повільних і нестабільних підключених);
  • -v – виведення докладної інформації про всі дії клієнта ssh;
  • -R/-L – можна використовувати для перекидання портів через SSH тунель.

SCP: копіювання файлів з / в Windows через SSH

За допомогою утиліти scp.exe, Яка входить до складу пакету клієнта SSH, ви можете скопіювати файл з вашого комп’ютера на SSH сервер:

scp.exe "E:ISOCentOS-8.1.1911-x86_64.iso" root@192.168.1.202:/home
scp.exe копіювання файлів через ssh

Можна рекурсивно скопіювати весь вміст каталогу:

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

Якщо ви налаштуєте аутентифікацію по RSA ключів, то при копіюванні файлів не буде з’являтися запит на введення пароля для підключення до SSH сервера. Це зручно, коли вам потрібно налаштувати автоматичне копіювання файлів за розкладом.

Отже, тепер ви можете прямо з Windows 10 підключатися до SSH серверів, копіювати файли за допомогою scp без встановлення сторонніх додатків і утиліт.

Leave a Reply

Your email address will not be published. Required fields are marked *