Jak zainstalować wbudowany w Windows 10 serwer OpenSSH

Na liście opcjonalnych funkcji, które można zainstalować w Windows 10, znajdują się wersje beta klienta OpenSSH i serwera OpenSSH. Klient umożliwia łączenie się ze zdalnymi serwerami SSH bezpośrednio z wiersza poleceń systemu Windows, a serwer pozwala użytkownikom zdalnym na zdalne połączenie się z systemem Windows 10 i otrzymanie wiersza poleceń przez SSH.

Dla tych, którzy chcieliby uzyskać zdalny dostęp konsolowy do swoich komputerów z systemem Windows 10, wbudowany serwer Windows 10 OpenSSH może być tym, czego szukasz. Nawet lepiej, dla tych, którzy są zaznajomieni z OpenSSH z używania go w Linuksie, wersja Windows 10 działa całkiem podobnie.

Pomimo, że klient Windows 10 OpenSSH jest naprawdę łatwy w instalacji i użyciu, zorientowanie się, jak uruchomić serwer OpenSSH było prawdziwym bólem, ponieważ trzeba dokonać wielu nieudokumentowanych zmian w uprawnieniach &, a generowanie kluczy nie działa zgodnie z oczekiwaniami. Teraz, kiedy już to wszystko rozgryzłem, podążanie za tymi instrukcjami i zainstalowanie działającego serwera OpenSSH w Windows 10 powinno zająć nie więcej niż 10 minut.

Instalacja serwera OpenSSH w Windows 10

Pierwszym krokiem jest kliknięcie na Menu Start Windows (), a następnie w polu wyszukiwania wpisanie opcji. Pojawi się wynik wyszukiwania oznaczony jako Zarządzaj opcjonalnymi funkcjami, na który należy kliknąć. Spowoduje to otwarcie ekranu Zarządzaj funkcjami opcjonalnymi, jak pokazano poniżej.

Ekran Zarządzaj funkcjami opcjonalnymi

Ten ekran pokazuje wszystkie aktualnie zainstalowane opcjonalne funkcje systemu Windows. Kliknij teraz przycisk Dodaj funkcję, jak wskazuje czerwona strzałka powyżej. Spowoduje to otwarcie listy opcjonalnych funkcji, które można zainstalować. Większość z nich to pakiety czcionek, ale jeśli przewiniesz w dół, zobaczysz cechę o nazwie OpenSSH Server (Beta).

Instalacja cechy OpenSSH Server

Aby zainstalować OpenSSH Server (Beta), po prostu wybierz ją i kliknij przycisk Zainstaluj. Po kliknięciu na przycisk Instaluj, zobaczysz, że funkcja zniknie z listy. Jest to normalne i nie ma się czym przejmować. Po prostu kliknij na strzałkę wstecz w lewym górnym rogu okna, a wrócisz do listy zainstalowanych funkcji, ale teraz z zainstalowanym OpenSSH Server (Beta).

Windows 10 OpenSSH Server Installed

Możesz teraz zamknąć to okno.

Po instalacji zostaną utworzone dwie nowe usługi Windows o nazwach sshd i sshd-agent, a powiązane z nimi pliki będą przechowywane w folderze C:\Windows\System32\OpenSSH. Lista zainstalowanych plików to:

Aby zakończyć instalację, należy teraz zrestartować komputer.

Po ponownym zalogowaniu usługa sshd nie zostanie uruchomiona, a przy próbie jej uruchomienia system Windows zgłosi, że nie ma wymaganych uprawnień do uruchomienia usługi.

Usłudze OpenSSH brakuje przywileju

Brakujący przywilej, którego potrzebuje usługa to Replace a Process Level Token i musimy go dodać do konta usługi NT sshd. Aby to zrobić, należy otworzyć edytor lokalnych zasad bezpieczeństwa, wyszukując secpol w menu Start i wybierając wynik Local Security Policy, który się pojawi.

Po otwarciu Edytora Lokalnych Zasad Bezpieczeństwa należy rozwinąć Zasady lokalne i kliknąć lewym przyciskiem myszy na Przypisanie praw użytkownika. Po wybraniu User Rights Assignment, zobaczysz różne uprawnienia w prawym panelu. Przewiń w dół, aż pojawi się przywilej Replace a process level token i kliknij dwukrotnie na nim. Otworzy to właściwości tego uprawnienia i pokaże konta lub grupy, do których jest ono obecnie przypisane.

Zastąp token poziomu procesu Właściwości uprawnienia

Następnie kliknij przycisk Dodaj użytkownika lub grupę i wprowadź Serwis NT w polu Wprowadź nazwy obiektów do wyboru, jak pokazano poniżej.

Dodaj konto do uprawnienia

Po zakończeniu kliknij przycisk OK, aby nadać to uprawnienie dla sshd. Możesz następnie nacisnąć przycisk OK, aby zamknąć właściwości, a następnie zamknąć edytor Lokalnych Zasad Bezpieczeństwa.

Nawet z włączonym przywilejem, gdy spróbujesz uruchomić usługę sshd, system Windows wyświetli błąd „Windows nie mógł uruchomić usługi sshd na Komputerze lokalnym. Błąd 1067: The Process terminated unexpectedly.”

Błąd 1067 przy próbie uruchomienia usługi SSHD

Jeśli zajrzysz do pliku C:\Windows\System32\OpenSSH\Logs\sshd.log wyświetli błędy takie jak poniżej.

SSHD wyświetla te błędy, ponieważ nie zostały wygenerowane klucze hosta, które będą używane do szyfrowania ruchu między serwerem a klientem. Aby utworzyć te klucze, musimy wykonać polecenie C:\Windows\System32\OpenSSH\ssh-keygen.exe -A z podniesionego wiersza poleceń, tak aby klucze zostały utworzone w folderze C:\Windows\System32\OpenSSH.

Użycie polecenia „ssh-keygen -A” wygeneruje klucz przy użyciu domyślnej ścieżki pliku klucza, pustej frazy hasła, domyślnych bitów dla typu klucza i domyślnego komentarza. Normalnie, dodałbym frazę hasła do klucza, ale w obecnej dołączonej do Windows 10 wersji OpenSSH, ssh-keygen odpowie błędem „failed: invalid argument” kiedy spróbujesz dodać frazę hasła.

Running ssh-keygen.exe

Kiedy ssh-keygen skończy tworzyć i zapisywać twój klucz, przeniesie cię z powrotem do wiersza poleceń, jak pokazano powyżej. Możesz wpisać exit i nacisnąć enter, aby opuścić podniesiony wiersz poleceń.

Niestety, jeszcze nie skończyliśmy i jeśli spróbujesz uruchomić usługę sshd, Windows ponownie odpowie „Błąd 1067”. Jest to spowodowane tym, że konto NT Service nie ma dostępu do pliku C:\Windowsystem32\OpenSSH\ssh_host_ed25519_key. Aby to naprawić, przejdź do właściwości pliku ssh_host_ed25519_key i wprowadź następujące zmiany:

  • Zmień właściciela pliku na NT Service.
  • Nadaj NT Service tylko uprawnienie Odczyt do tego pliku.
  • Usuń uprawnienia dla wszystkich użytkowników do tego pliku. Na przykład, twoje zalogowane konto będzie miało uprawnienia, które powinny zostać usunięte.

Po wykonaniu tych czynności Twoje uprawnienia do pliku ssh_host_ed25519_key powinny wyglądać następująco:

Dobre uprawnienia

Jeśli nie ustawisz poprawnie uprawnień, nie będziesz mógł uruchomić usługi sshd, a w pliku dziennika pojawią się następujące błędy:

Gdy masz ustawione prawidłowe uprawnienia na pliku klucza prywatnego, możesz ponownie uruchomić usługę sshd. Tym razem jednak usługa sshd zostanie uruchomiona i będzie dostępna dla komputerów do połączenia.

SSHD Service Started

Teraz, gdy usługa jest uruchomiona, możesz zdalnie połączyć się z Windows 10 przez SSH. Poniżej znajduje się przykład tego, jak wygląda SSH na komputerze z systemem Windows 10. Zauważ, że otrzymujesz pełny wiersz poleceń, w którym możesz uruchomić wszystkie narzędzia wiersza poleceń, w tym PowerShell.

Windows 10 Command Prompt over SSH

Usługa sshd jest ustawiona na Automatyczny (opóźniony start), co oznacza, że system Windows uruchomi tę usługę po zakończeniu uruchamiania wszystkich innych usług, które są ustawione na Automatyczny. Dlatego też, po ponownym uruchomieniu komputera może minąć kilka minut zanim serwer OpenSSH zostanie uruchomiony i będzie można się z nim połączyć.

Dzięki serwerowi OpenSSH działającemu w Windows 10, masz dodatkową warstwę elastyczności w zarządzaniu komputerem. Jeśli zdecydujesz się na włączenie serwera OpenSSH, upewnij się, że port 22, na którym nasłuchuje sshd, jest dostępny tylko dla zaufanych adresów IP.

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany.