Korzystanie ze zintegrowanego klienta SSH w systemie Windows 10

W Windows 10 i Windows Server 2019 pojawił się zintegrowany klient SSH, którego możesz użyć do łączenia się z serwerami * Nix, hostami ESXi i innymi urządzeniami za pomocą bezpiecznego protokołu zamiast Putty, MTPuTTY lub innych klientów SSH innych firm. Wbudowany w Windows klient SSH oparty na porcie Openssh i wstępnie zainstalowany w systemie operacyjnym od Windows 10 1809.

Treść

  • Instalowanie klienta OpenSSH w systemie Windows 10
  • Jak korzystać z klienta SSH w systemie Windows 10?
  • SCP: kopiuj pliki z / do Windows przez SSH

Instalowanie klienta OpenSSH w systemie Windows 10

Klient OpenSSH jest wliczony w cenę Funkcje na żądanie Windows 10 (jak RSAT). Klient SSH jest instalowany domyślnie w systemie Windows Server 2019 i Windows 10 1809 i nowszych wersjach.

Sprawdź, czy klient SSH jest zainstalowany:

Get-WindowsCapability -Online | ? Jak nazwa „OpenSSH.Client *”

W naszym przykładzie zainstalowany jest klient OpenSSH (status: Stan: Zainstalowany).

Jeśli brakuje klienta SSH (Stan: brak), można go zainstalować:

  • Za pomocą polecenia PowerShell: Add-WindowsCapability -Online -Name OpenSSH.Client *
  • Za pomocą DISM: dism / Online / Add-Capability /CapabilityName:OpenSSH.Server~~.0.0.0.0
  • Przez Opcje -> Aplikacje -> Funkcje zaawansowane -> Dodaj komponent. Znajdź na liście Klient OpenSSH i naciśnij przycisk Zainstaluj.

] Pliki binarne OpenSSH znajdują się w folderze c: \ windows \ system32 \ OpenSSH \.

  • ssh.exe to plik wykonywalny klienta SSH;
  • scp.exe - narzędzie do kopiowania plików w sesji SSH;
  • ssh-keygen.exe - narzędzie do generowania kluczy uwierzytelniających;
  • ssh-agent.exe - używany do zarządzania kluczami;
  • ssh-add.exe - dodaj klucz do bazy danych agenta ssh.

Możesz zainstalować OpenSSH we wcześniejszych wersjach systemu Windows - wystarczy pobrać i zainstalować Win32-OpenSSH z GitHub (przykład w artykule „Konfigurowanie SSH FTP w Windows”).

Jak korzystać z klienta SSH w systemie Windows 10?

Aby uruchomić klienta SSH, uruchom wiersz poleceń Powerhell lub cmd.exe. Wydrukuj dostępne parametry i składnię narzędzia ssh.exe, wpisując polecenie:

ssh
użycie: ssh [-46AaCfGgKkMNnqsTtVvXxYy] [-b adres_indeksu] [-c specyfikacja_szyfru]
[-D [adres_powiązania:] port] [-E plik_dziennika] [-e znak_ataku]
[-F plik konfiguracyjny] [-I pkcs11] [-i plik_identyfikacji]
[-J [użytkownik @] host [: port]] [-L adres] [-l nazwa_logowania] [-m mac_spec]
[-O ctl_cmd] [-o opcja] [-p port] [-Q opcja_pytania] [-R adres]
[-S ścieżka ctl] [-W host: port] [-w local_tun [: remote_tun]]
miejsce docelowe [polecenie]

Aby połączyć się ze zdalnym serwerem za pośrednictwem SSH, użyj polecenia:

nazwa użytkownika ssh @ host

Jeśli serwer SSH działa na niestandardowym porcie innym niż TCP / 22, możesz podać numer portu:

ssh nazwa użytkownika @ host -p port

Na przykład, aby połączyć się z hostem Linux z adresem IP 192.168.1.202 jako root, uruchom:

ssh [email protected]

Podczas pierwszego połączenia zostaniesz poproszony o dodanie klucza hosta do zaufanych; wpisz tak -> Enter (odcisk palca hosta zostanie dodany do pliku C: \ Users \ nazwa użytkownika \ .ssh \ znane_hosty).

Następnie pojawia się monit o podanie hasła dla określonego konta, podaj hasło roota, po którym konsola zdalnego serwera Linux powinna się otworzyć (w moim przykładzie CentOS 8 jest zainstalowany na zdalnym serwerze).

Dzięki SSH możesz łączyć się nie tylko z systemami operacyjnymi podobnymi do * Nix, ale także z Windows. W poprzednim artykule pokazaliśmy, jak skonfigurować serwer OpenSSH w systemie Windows 10 i połączyć się z nim z innego komputera z systemem Windows za pomocą klienta SSH.

Jeśli używasz uwierzytelniania SSH przy użyciu kluczy RSA (zobacz przykład z konfiguracją uwierzytelniania klucza SSH w systemie Windows), możesz określić ścieżkę do pliku za pomocą klucza prywatnego w kliencie SSH w następujący sposób:

ssh [email protected] -i "C: \ Users \ nazwa użytkownika \ .ssh \ id_rsa"

Możesz także dodać swój klucz prywatny do SSH-Agent. Najpierw musisz włączyć usługę ssh-agent i skonfigurować jej autostart:

set-service ssh-agent StartupType „Automatyczny”
Start-Service ssh-agent

Dodaj swój klucz prywatny do bazy danych ssh-agent:

ssh-add "C: \ Users \ nazwa użytkownika \ .ssh \ id_rsa"

Teraz możesz połączyć się z serwerem przez SSH bez określania ścieżki do klucza RSA, zostanie on użyty automatycznie. Hasło do połączenia nie jest wymagane (chyba że klucz RSA został zabezpieczony osobnym hasłem):

ssh [email protected]

Kilka bardziej przydatnych argumentów SSH:

  • -C. - kompresuj ruch między klientem a serwerem (przydatne przy powolnych i niestabilnych połączeniach);
  • -v - wyświetlać szczegółowe informacje o wszystkich działaniach klienta ssh;
  • -R/-L. - może służyć do przekierowania portów przez tunel SSH.

SCP: kopiuj pliki z / do Windows przez SSH

Korzystanie z narzędzia scp.exe, który jest częścią pakietu klienta SSH, możesz skopiować plik z komputera na serwer SSH:

scp.exe „E: \ ISO \ CentOS-8.1.1911-x86_64.iso” [email protected]: / home

Możesz rekurencyjnie skopiować całą zawartość katalogu:

scp -r E: \ ISO \ [email protected]: / home

I odwrotnie, możesz skopiować plik ze zdalnego serwera na komputer:

scp.exe [email protected]: /home/CentOS-8.1.1911-x86_64.iso e: \ tmp

Jeśli skonfigurujesz uwierzytelnianie za pomocą kluczy RSA, wówczas podczas kopiowania plików nie będziesz proszony o podanie hasła do połączenia z serwerem SSH. Jest to wygodne, gdy trzeba skonfigurować automatyczne kopiowanie plików zgodnie z harmonogramem..

Teraz możesz bezpośrednio łączyć się z serwerami SSH z systemu Windows 10, kopiować pliki za pomocą scp bez instalowania aplikacji i narzędzi innych firm.