Zdalny dostęp do komputera przez Internet otwiera przed nami bardzo szerokie możliwości. Możemy z domu zalogować się na komputer firmowy i dokończyć pracę, możemy z laptopa czy tabletu zalogować się do komputera domowego i pokazać znajomym zdjęcia z wakacji. Z resztą jeśli czytasz ten wpis oznacza to, że masz już taką potrzebę.
Zdalny dostęp przez Secure Shell (SSH)
SSH to następca protokołu Telnet służącego to terminalowego łączenia się ze zdalnymi komputerami. SSH umożliwia ponadto przesyłanie plików, tunelowanie czy zdalną kontrolę zasobów. Od Telnetu różni się przede wszystkim tym, że SSH jest protokołem szyfrowanym, a zatem bezpiecznym. Co prawda SSH możemy zainstalować na dowolnym systemie operacyjnym, jednak najbardziej rozpowszechniony jest ona na systemach unixopodobnych. Zdalny dostęp realizowany przez SSH odbywa się domyślnie w trybie tekstowym, ale po włączeniu opcji X11 forwarding możliwe jest uruchamiania aplikacji graficznych na stacji odległej z widocznym interfejsem użytkownika na lokalnym serwerze X.
InstalacjÄ™ SSH na Ubuntu / Linux Mint / LMDE przeprowadzamy jednym prostym poleceniem:
1 |
sudo apt-get install ssh |
Polecenie to zainstaluje zarówno klienta jak i serwer SSH.
Do łączenia z poziomu Linuksa ze zdalnym komputerem służy komenda ssh
, oto przykładowe użycie:
1 |
ssh użytkownik@serwer |
użytkownika podajemy tylko jeśli nazwa użytkownika zdalnego jest różna od lokalnego
Zdalny dostęp do serwera SSH z poziomu Windowsa, możemy zrealizować przy pomocy świetnego programu PuTTY
Zdalny dostęp do serwera SSH z Androida możemy zrealizować instalując klienta ConnectBot
Jak wspomniałem powyżej SSH można wykorzystać do przesyłania plików, klientem który to umożliwia jest świetny program FileZilla. Program ten występuje w wersjach zarówno dla Linuksa jak i Windowsa. W Ubuntu / Linux Mint / LMDE instalujemy go jednym prostym poleceniem:
1 |
sudo apt-get install filezilla |
Wspomniałem także, że SSH umożliwia także zdalny dostęp do aplikacji pracujących w środowisku graficznym. W przypadku Linuksa wystarczy do polecenia ssh
dodać przełącznik -X
lub -Y
. W przypadku Windowsa musimy zainstalować serwer X. Zdecydowanie najlepszą implementacją serwera X dla Windows jest Xming.
Skoro serwer X został zainstalowany i uruchomiony na naszym Windowsie, uruchamiamy teraz klienta PuTTY. Na ekranie konfiguracyjnym przechodzimy do Connection -> SSH -> X11 i zaznaczamy Enable X11 forwarding. Teraz już możemy zalogować się do zdalnego serwera SSH i odpalić jaką aplikację pracującą w środowisku graficznym. Ja dla przykładu uruchomiłem w Linux Mint 13 uruchomiłem Edytor plików tekstowych pluma
, którego interfejs graficzny widzimy w Windows XP.
SSH standardowo pracuje na porcie 22, konieczne jest zatem odblokowanie tego portu na systemowym firewallu, co w przypadku Linuksa opisuję w artykule o iptables a w przypadku Windowsa w artykule o SSH na Cygwinie. Dodatkowo musimy przekierować ten port na naszym routerze.
Zdalny dostęp przez Pulpit zdalny (RDP)
Pulpit zdalny (ang. Remote Desktop Protocol w skrócie RDP) to natomiast protokół, który natywne powstał w środowisku Windows. Usługa RDP jest dostępna we wszystkich systemach operacyjnych Windows od wersji Windows 2000, z wyjątkiem edycji Home, w których nie występuje serwer RDP. Pulpit zdalny został także przeniesiony na systemy unixopodobne. Zdalny dostęp realizowany przez protokół RDP ma tę zaletę, że pracujemy w środowisku graficznym. Ma to szczególne znaczenie w przypadku Windows, gdyż pod tym systemem nie mamy tak szerokiego pola manewru pracując w linii komend jak to jest w przypadku Linuksa.
Podobnie jak to było w przypadku SSH tak i w przypadku Pulpitu zdalnego konieczne jest odblokowanie portu na systemowym firewallu oraz przekierowanie tegoż portu na naszym routerze. W przypadku SSH był to port 22, natomiast w przypadku Pulpitu zdalnego standardowo jest to port 3389.
Pulpit zdalny włączamy w Windosach klikając odpowiednio Panel sterowania -> System -> Ustawienia zdalne
Jak widać w przypadku Windows Vista / 7 mamy 3 opcje do wyboru:
- Nie zezwalaj na połączenie z tym komputerem
- Zezwalaj na połączenie z komputerów z dowolną wersją Pulpitu zdalnego (mniej bezpieczne)
- Zezwalaj na połączenie tylko z komputerów, na których Pulpit zdalny jest uruchomiony z uwierzytelnianiem na poziomie sieci (bardziej bezpieczne)
Czym różni się opcja druga i trzecia i dlaczego warto wybrać opcję trzecią? Wybierając drugą opcję połączenie Pulpitu zdalnego zostaje w pełni zestawione i dopiero w tym momencie może nastąpić uwierzytelnienie użytkownika już na maszynie do której się podłączyliśmy. Pisząc wprost widzimy ekran logowania maszyny zdalnej, na którym wybieramy użytkownika i podajemy hasło. W przypadku trzecim użytkownika i hasło podajemy we wczesnej fazie zestawiania połączenia w kliencie Pulpitu zdalnego, który w kliencie z Windowsa nazywa się Połączenie pulpitu zdalnego, po czym następuje uwierzytelnienie użytkownika i dopiero wtedy zostaje w pełni zestawiona sesja terminalowa. Jest to zatem rozwiązanie bezpieczniejsze i nieco mniej obciążające system. Uwierzytelnianie na poziomie sieci (Network Level Authentication) obsługiwane jest w Windows Vista i nowszych. Windows 2000 / XP nie obsługują uwierzytelniania na poziomie sieci, więc w przypadku tych systemów nie będzie tam trzeciej opcji.
Uwierzytelnienie na poziomie sieci w kliencie RDP uruchomionym na Windowsie XP
Z poziomu Windows XP możliwe jest również zalogowanie się na zdalnej maszynie na której włączono uwierzytelnianie na poziomie sieci, ale wymaga to kilku zabiegów.
Przede wszystkim musimy mieć zainstalowany dodatek Service Pack 3 dla Windowsa XP. W razie wątpliwości możesz kliknąć na Panel sterowania -> System i na zakładce Ogólne sprawdzić czy zainstalowany jest Dodatek Service Pack 3.
Następnie musimy zaktualizować klienta usługi Podłączanie pulpitu zdalnego do wersji 7.0, którą ściągniemy z tego miejsca.
Na koniec uruchamiamy Edytor rejestru regedit
i przechodzimy do klucza HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa\Security Packages
gdzie dopisujemy na końcu wartość tspkg
Następnie przeskakujemy do klucza HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SecurityProviders
gdzie na końcu dopisujemy wartość credssp.dll
Jeśli nie chcesz się bawić w ręczną edycję rejestru możesz skorzystać z mojego gotowego pliku wpisów rejestru. Przed wypróbowaniem Połączenia pulpitu zdalnego z włączonym uwierzytelnianiem na poziomie sieci musimy jeszcze zrestartować system.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 |
ÿþW i n d o w s |