Get Adobe Flash player

vnc Zdalny pulpit wykorzystywany jest często po to by swobodnie zarządzać komputerem, do którego nie mamy fizycznego dostępu, a często jest od nas oddalony o dziesiątki, a może i nawet tysiące kilometrów, jest rozwiązaniem szczególnie popularnym w firmach informatycznych do prowadzenie zdalnej pomocy technicznej bez potrzeby jechania do klienta, ale nie tylko….

W dobie tanich serwerów dedykowanych i VPS możemy wykorzystać zdalny pulpit do pracy – gdy np. potrzebujemy szybkiego łącza lub gdy np. potrzebujemy dużej mocy obliczeniowej do konwertowania dużej ilości plików, a nasz domowy/biurowy komputer nie jest wystarczający lub zwyczajnie nie możemy sobie pozwolić na jego obciążenie bo jest nam potrzebny do codziennej pracy i w reszcie – na zdalnej maszynie możemy włączyć wykonywanie jakiegoś zadania (które z założenia potrwa długo) odłączyć się od pulpitu i spokojnie wyłączyć nasz biurowy laptop po czym udać się na zimne piwo. Oczywiście należy zaznaczyć że wdrażanie takiego rozwiązania (jako dodatkowego) na serwerach, na których mają docelowo działać inne usługi (np. serwer www) po to tylko by nimi zarządzać mija się z celem i powoduje tylko niepotrzebne zużywanie zasobów. Jeśli już stawiamy serwer ze zdalnym pulpitem to stawiajmy go pod konkretne potrzeby i niech to będzie osobny serwer dedykowany/VPS przeznaczony do tego celu.
W tym artykule pokażę jak uruchomić zdalny pulpit w systemie Debian 7 (na innych wersjach Debian nie ma praktycznie żadnych różnic to samo tyczy się Ubuntu) przy użyciu VNC – oczywiście są też inne dobre rozwiązania tj. teamviewer, ale np. wspomniany teamviewer jest darmowy tylko do użytku niekomercyjnego, a cena do użytku komercyjnego jest kosmiczna. Zakładam że mamy zainstalowany i zabezpieczony system operacyjny, odpowiednie repozytoria w pliku /etc/apt/sources.list i zrobiliśmy:

apt-get update

Poniższy tutorial ma na celu pokazanie jak zrobić to szybko bez zbędnego zagłębiania się w szczegóły – czyli dla kogoś kto chciał by szybko zainstalować i zacząć korzystać.

Instalujemy środowisko graficzne.

Najpierw musimy wybrać i zainstalować jakieś środowisko graficzne. Nie polecam Gnome, ani tym bardziej KDE – nie potrzebujemy przecież wodotrysków tylko środowiska, które pozwoli nam na swobodną pracę, a jednocześnie zużyje jak najmniej zasobów systemowych. Dobrym wyborem jest XFCE, ale (według mnie) jeszcze lepszym do takich celów jest LXDE dlatego pokaże to na przykładzie właśnie tego środowiska, a więc do dzieła instalujemy potrzebne pakiety:

apt-get install lxde
apt-get install xorg

Instalujemy vnc4server.

apt-get install vnc4server

Możemy od razu zmienić port, tak aby nasz VNC nie pracował na standardowym porcie w tym celu edytujemy plik /etc/vncserver i w linii 212 zmieniamy $vncPort z 5900 na wymyślony przez nas port, dla przykładu niech to będzie port 5555. Należy zwrócić uwagę na fakt że sesje VNC bądą miały port wyższy od tego, ktory podaliśmy w $vncPort, tak więc odpowiednio sesja 1 będzie na porcie 5556 sesja 2 na porcie 5557 itd.

Uruchamiamy i konfigurujemy vnc4server.

Logujemy się jako użytkownik, który będzie korzystał ze zdalnego pulpitu i uruchamiamy komendą:

vnc4server

Podczas pierwszego uruchomienia zapyta nas o hasło – nadajemy trudne, niesłownikowe hasło.

Edytujemy plik /home/nasz_user/.vnc/xstartup (lub /root/.vnc/xstartup dla konta root) i dopisujemy na końcu (źródło):

lxsession &
pcmanfm –desktop –profile=LXDE &
lxpanel &

Kończymy sesję:

vnc4server -kill :1

i uruchamiamy od nowa:

vnc4server

W ten sposób przeładowaliśmy ustawienia i nasz zdalny pulpit już działa. Teoretycznie, a w zasadzie i praktycznie już w tym momencie można się połączyć, ale uwaga – takie połączenie jest nieszyfrowane dlatego w dalszej części skonfigurujemy tunel SSH.

Ustawiamy tunel SSH.

W dzisiejszym przykładzie do połączenia z SSH wykorzystaliśmy program Putty, tak więc pokażę jak szybko ustawić tunel SSH – jest to dziecinnie proste…

Otwieramy program i z drzewa kategorii wybieramy Connection => SSH => Tunnels. W polu Source port wpisujemy jakiś dowolnie wymyślony port, do którego będziemy łączyli się lokalnie klientem VNC, a w polu Destination podajemy adres IP naszego serwera oraz port, na którym mamy VNC w formie:

adres_IP:port
w naszym przykładzie:
adres_IP:5556

i klikamy Add – należy pamiętać że jeśli ustawiliśmy $vncPort na 5555 to sesja nr. 1 będzie na porcie 5556 czyli każda kolejna sesja na porcie o jeden nr. wyżej. Dla ułatwienia późniejszego korzystania możemy sobie w Session od razu zapisać całą konfigurację pod dowolną nazwą – bo zakładam że podanie IP oraz portu, na którym mamy SSH jest oczywiste. Niektóre „szkoły” mówią jeszcze aby w Connection => SSH włączyć opcję compression, ale mówiąc szczerze nie zauważyłem różnicy…

Gotowe 🙂 Łączymy się z SSH i odpalamy ulubionego klienta VNC (może to być np. program o nazwie UltraVNC) – wpisujemy:

localhost:port

Jeśli np. w Source port ustawiliśmy port 12345 to wpisujemy:

localhost:12345

Miłej pracy, tudzież zabawy 🙂

PS. W zasadzie najlepiej by było na potrzeby VNC stworzyć osobnego użytkownika, z ograniczonymi uprawnieniami, i z niego odpalać vnc4server, ale wszytko zależy co chcemy robić przez ten zdalny pulpit – w niektórych przypadkach trzeba to zrobić na koncie super użytkownika (root) – niemniej należy tego unikać 😉 Aby tego uniknąć można np. (będąc zalogowany jako zwykły użytkownik już na zdalnym pulpicie) zalogować się na chwilę jako root by zrobić co trzeba lub użyć sudo. Tutaj możliwości i kombinacji jest wiele, każdy robi jak uważa 😉

Jedna odpowiedź na „Zdalny pulpit czyli serwer VNC na Debian/Ubuntu + tunel SSH”

  • A ja mam takie pytanie odnośnie edycji pliku /home/użytkownik/.vnc/xstartup

    Nie mogę takiego pliku znaleźć pod rootem (#), a szukałem na lokalizacji domowej, a pod normalnym ($) wiadomy brak dostępu. Pod roota spokojnie wszystko ustawiłem, jedynie muszę putty’iego skonfigurować.

Dodaj komentarz

Twój adres email nie zostanie opublikowany. Pola, których wypełnienie jest wymagane, są oznaczone symbolem *