Strona główna » Blog » Tunelowanie zdalnego pulpitu jest łatwiejsze w Linuksie

Tunelowanie zdalnego pulpitu jest łatwiejsze w Linuksie

Windowsowy zdalny pulpit, czyli Remote Desktop, to miłe i sprawne rozwiązanie. Ma jednak wadę: wbudowany klient nie obsługuje sam w sobie połączeń poprzez czy to proxy, czy tunele SSH, czy też inne rozwiązania. Użytkownik musi posiłkować się dodatkowym oprogramowaniem, aby dostać się do sieci wewnętrznej. A może da się prościej?

Możliwe rozwiązania

Rozwiązań tego problemu jest oczywiście całkiem sporo. Nie muszą one jednak wydać się wygodnymi. Założmy, że mamy sieć wewnętrzną chronioną przez urządzenia firmy Fortinet. Wówczas zarówno z poziomu Windows jak i z poziomu Linuksa (nie testowałem) możliwe jest skorzystanie z szyfrowanego połączenia sieci VPN. Trzeba zainstalować specjalne oprogramowanie klienckie i z jego pomocą się połączyć, co jednak całkowicie przełącza nas na sieć wewnętrzną, co niekoniecznie jest wygodne, bo możemy wciąż potrzebować dostępu do np. sieci publicznej (która nie musi być równie dostępna z sieci wewnętrznej). Zaletą tego rozwiązania może być natomiast to, że dostęp jest ogólnie do całej wewnętrznej sieci a nie tylko do wskazanych komputerów.

Inne rozwiązanie, dostępne dla Windows, to opisywane kiedyś przeze mnie wykorzystanie narzędzia Plink z pakietu PuTTY, które otwiera tunel SSH. Stosując to rozwiązanie, nie zaburzamy naszej aktualnej konfiguracji sieciowej. Zaletą jest też to, że możemy jednym poleceniem uczynić kilka tuneli do różnych maszyn. Wadą jest to, że jednak musimy to polecenie gdzieś napisać, zawrzeć w jakimś skrypcie, uruchomić i później w oddzielnym oknie konsoli zamknąć, gdy zakończymy pracę. Odpowiednikiem powyższego rozwiązania dla Linuksa jest zastosowanie polecenia ssh, na którego składni Plink chyba nawet bazuje.

Remmina

Wreszcie rozwiązaniem najbardziej przyjaznym zdaje się być linuksowy klient zdalnego pulpitu, Remmina, który podobnie jak windowsowy edytor SQL, HeidiSQL, zawiera wbudowaną obsługę tuneli SSH. Tworząc lub edytując nowe połączenie oddzielnie opisujemy w jednej zakładce dane docelowego hosta, do którego pulpitu chcemy się podłączyć, a w drugiej zakładce dane pośrednika, poprzez którego – z użyciem tunelu SSH – dotrzemy do celu.

Konfiguracja właściwego połączenia RDP
Konfiguracja właściwego połączenia RDP

Na powyższym zrzucie ekranu widać wskazanie na maszynę, do której nastąpi podłączenie klienta zdalnego pulpitu. Maszyna znajduje się w sieci wewnętrznej i znana jest jedynie pod swoim adresem IP. Podane jest login i hasło użytkownika dla systemu Windows tej maszyny,

Na zrzucie niżej ukazane jest natomiast jak skonfigurowano tunelowanie. Zaznaczony jest checkbox “Tunelowanie SSH” oraz w polu “własne” wprowadzony jest adres WWW do maszyny z usługą SSH. Po najechaniu kursorem myszy na wskazane pole można uzyskać podpowiedź na temat możliwych formatów adresowania maszyn z SSH. Na końcu podana jest nazwa użytkownika. Nie jest natomiast podawana ani zapamiętywana nazwa hasła: chyba lepiej, aby było ono dobrze strzeżone, skoro może ono posłużyć do wejścia do strzeżonej, izolowanej sieci wewnętrznej.

Konfiguracja tunelu SSH
Konfiguracja tunelu SSH

Pozostaje mieć nadzieję, że kiedyś i windowsowy klient RDP uzyska wygodną zdolność korzystania z tunelowania SSH – chociażby w taki sposób jak to zrobiono w HeidiSQL, które zwyczajnie wywołuje Plink. Ewentualnie, może kiedyś ktoś zrobi wygodną nakładkę na MSTSC, bo w tej chwili wygodniej mi przychodzi korzystać z Remminy niż z windowsowego klienta, gdy konieczne są złożone dojścia do sieci wewnętrznej.

Dodaj komentarz