Powrót do bloga

Instalacja i konfiguracja Virtual Network Computing (VNC) na Ubuntu 20.04

Instalacja i konfiguracja Virtual Network Computing (VNC) na Ubuntu 20.04

Virtual Network Computing (VNC) to system udostępniania ekranu służący do zdalnego dostępu do graficznych interfejsów użytkownika. Wykorzystuje protokół zdalnego bufora ramek (RFB), umożliwiając połączenie jednego serwera (po stronie użytkownika) z drugą stroną (klientem). VNC jest bezpieczne, pewne i działa na wszystkich systemach operacyjnych.

RealVNC, UltraVNC, Xfce, TightVNC, by wymienić tylko kilka, to najpopularniejsze obecnie używane klienty VNC. Spośród dostępnych alternatyw możesz swobodnie wybrać dowolny program VNC według własnego uznania. W tym samouczku przeprowadzimy Cię przez kroki instalacji i konfiguracji VNC na Ubuntu 20.04. Zainstalujemy Xfce ze względu na jego szybkość, lekkość i doskonałą wydajność.

Zaczniemy od skonfigurowania serwera VNC na serwerze Ubuntu i ustanowienia bezpiecznego połączenia przez tunel SSH. Na koniec użyjemy programu klienckiego VNC na naszym lokalnym komputerze, aby wejść w interakcję z serwerem za pośrednictwem graficznego środowiska pulpitu.

Wymagania wstępne

Aby przejść przez ten samouczek, będziesz potrzebować:

Krok 1 — Instalacja środowiska graficznego i serwera VNC

W przeciwieństwie do poprzednich wersji Ubuntu, Ubuntu 20.04 nie jest dostarczane z preinstalowanym serwerem VNC. W pierwszym kroku zainstalujemy niezbędne pakiety z oficjalnego repozytorium Ubuntu. Zanim przejdziemy dalej, zaktualizujmy istniejące pakiety:

Teraz zainstalujemy Xfce i pakiet xfce4-goodies za pomocą polecenia:

Podczas instalacji pakietu pojawi się ekran z monitem o wybór domyślnego menedżera wyświetlania dla Xfce. Zignoruj tę wiadomość lub ustaw go jako domyślny, a następnie naciśnij ENTER.

Menedżer wyświetlania to program, który umożliwia użytkownikom logowanie się do środowiska graficznego za pośrednictwem interfejsu graficznego. W tym samouczku użyjemy Xfce podczas łączenia się z klientem VNC, gdzie jesteśmy zalogowani jako użytkownik Ubuntu inny niż root. Dlatego wybór menedżera wyświetlania nie będzie miał żadnego wpływu na naszą instalację.

Po instalacji Xfce zainstalujemy serwer TightVNC:

W kolejnym kroku użyj polecenia vncserver, aby ustawić hasło dostępu do VNC i utworzyć początkowe pliki konfiguracyjne. Wpisz następujące polecenie, aby uruchomić instancję serwera VNC:

Następnie ustaw hasło o długości od 6 do 8 znaków i naciśnij ENTER. Zobaczysz komunikat z monitem:

Po zweryfikowaniu hasła otrzymasz opcję utworzenia hasła tylko do podglądu. Użytkownicy logujący się za pomocą hasła tylko do podglądu mają ograniczoną możliwość sterowania VNC za pomocą myszy lub klawiatury. Ponownie, jest to tylko zalecane i możesz to włączyć, jeśli tego potrzebujesz, w przeciwnym razie możesz to pominąć.

W przyszłości, jeśli zechcesz zmienić hasło lub dodać hasło tylko do odczytu, użyj polecenia:

Do tej pory będziesz mieć utworzone wszystkie domyślne konfiguracje dla serwera oraz port wyświetlania 5901 uruchomiony jako :1. VNC może uruchomić wiele instancji na innych portach wyświetlania, takich jak :2, :3, oraz :4 odnoszące się do portu 5902, 5903, i 5904 odpowiednio:

Twój serwer VNC jest teraz zainstalowany i działa pomyślnie. W następnym kroku skonfigurujemy serwer tak, aby uruchamiał Xfce, co pozwoli uzyskać dostęp przez interfejs graficzny.

Krok 2 — Konfiguracja serwera VNC

W katalogu domowym znajdziesz folder .vnc, który zawiera wszystkie pliki konfiguracyjne o nazwie startup. Początkowo znajdziesz uruchomiony plik startowy, który został automatycznie utworzony podczas uruchamiania polecenia vncserver w Kroku-1. Skrypt startowy został utworzony podczas uruchamiania polecenia vncserver w poprzednim kroku. Teraz jednak utworzysz własny, aby uruchomić pulpit Xfce. Będziemy musieli również utworzyć nasz własny serwer, aby uruchomić pulpit Xfce, ponieważ konfiguracja VNC ulegnie zmianie.

Przed przejściem dalej musimy zatrzymać instancję serwera VNC działającą na porcie 5901:

Zobaczysz dane wyjściowe:

Zamiast 17648, możesz otrzymać inną liczbę i to w porządku. Następnie zmodyfikujemy plik xstartup . Przed wprowadzeniem jakichkolwiek modyfikacji pliku, utwórzmy kopię zapasową oryginalnego pliku:

Następnie utwórz nowy plik xstartup i otwórz go w dowolnym edytorze tekstu. W tym samouczku używamy nano:

Po zakończeniu dodaj do pliku następujące linie:

Za każdym razem, gdy uruchamiasz lub restartujesz serwer VNC, te polecenia są wykonywane automatycznie. Pierwsza linia to Shebang, która informuje system o informacjach interpretera, aby przekazać ~/.vnc/xstartup plik do wykonania. Kolejna linia xrdb $HOME/. Xresources, informuje framework GUI VNC o odczytaniu pliku Xresources użytkownika serwera. Na koniec ostatnia linia prosi serwer o uruchomienie Xfce. Po dodaniu tych linii zapisz i zamknij plik.

Musimy uczynić plik wykonywalnym, aby serwer VNC mógł korzystać z nowego pliku startowego:

Następnie zrestartuj serwer VNC:

Teraz będziesz mieć -localhost dodaną tutaj opcję. Localhost wiąże serwer VNC z interfejsem loopback Twojego serwera, co pozwala na połączenia wyłącznie z zainstalowanych serwerów. Następnie ustanowimy tunel SSH między naszą lokalną maszyną a serwerem. Celem jest dodanie dodatkowej warstwy bezpieczeństwa wokół VNC. Dlaczego? Ponieważ użytkownicy, którzy będą mieli dostęp, to ci, którzy mają już dostęp SSH do serwera.

Zobaczysz następujący wynik:

Po skonfigurowaniu jesteśmy gotowi do połączenia się z serwerem VNC z naszej lokalnej maszyny.

Krok 3 — Bezpieczne połączenie z pulpitem VNC

Podczas łączenia się z serwerem VNC nie korzysta z bezpiecznych protokołów. Dlatego musimy ustanowić tunel SSH i poprosić klienta VNC o nawiązanie połączenia przy użyciu tunelu, zamiast pozwalać mu na bezpośrednie połączenie.

Utworzymy połączenie SSH na naszym lokalnym komputerze za pomocą ssh polecenia, które przekierowuje do localhost połączenia. Użyj polecenia w terminalu, aby utworzyć połączenie SSH:

Rozszyfrujmy powyższy kod:

  • -L 59000:localhost:5901: Przełącznik -L określa, że podany port na lokalnym komputerze ( 59000) zostanie przekierowany na podany host i port na serwerze docelowym ( localhost:5901). Oznacza to, że port 5901 na serwerze docelowym zostanie zdefiniowany jako your_server_ip). Podany port lokalny jest dowolny. Dopóki port nie jest już powiązany z inną usługą, możesz go swobodnie używać jako portu przekierowania dla swojego tunelu.

  • -C: Włącza kompresję, co dodatkowo pomaga w minimalizacji zużycia zasobów i przyspieszeniu wydajności.

  • -N: Przydatne do przekierowywania portów. Informuje to ssh, aby nie wykonywać żadnych zdalnych poleceń.

  • -l cloudsigma your_server_ip: Przełącznik -l pozwala określić użytkownika, jako którego chcesz się zalogować po połączeniu z serwerem.

Powyższe polecenie jest bezpieczniejszym sposobem nawiązania bezpiecznego połączenia niż zwykłe otwarcie zapory sieciowej serwera w celu zezwolenia na połączenia z portem 5901 z dowolnego miejsca. Po nawiązaniu połączenia tunel SSH przekierowuje zawartość z portu 5901 na Twoim VNC do portu 59000 na Twoim lokalnym komputerze przez domyślny port SSH; port 22.

Możesz również użyć PuTTY do połączenia się z serwerem. Otwórz PuTTY, przejdź do lewej strony terminala PuTTY i znajdź gałąź Connection, aby się połączyć. Następnie rozwiń gałąź SSH i kliknij Tunnels. Na Opcje kontrolujące przekierowanie portów SSH ekran, wpisz 59000 jako Port źródłowy oraz localhost:5901 jako Cel:

VNC image 1

Pozostaw wszystkie opcje bez zmian, kliknij Dodaj, a następnie Zastosuj aby utworzyć tunel. Po uruchomieniu tunelu użyj klienta VNC, aby połączyć się z localhost: 59000. Domyślnie zostaniesz poproszony o uwierzytelnienie za pomocą hasła utworzonego w Kroku 1. Po połączeniu zobaczysz domyślny pulpit Xfce:

VNC 2

Możesz uzyskiwać dostęp do plików w katalogu domowym i zarządzać nimi. Skonfiguruj również swój serwer VNC, aby działał jako usługa systemd.

Krok 4 — Uruchamianie VNC jako usługi systemd

Skonfigurowanie serwera VNC do działania jako usługa systemd umożliwia zarządzanie serwerem. Możesz go uruchamiać, zatrzymywać, restartować lub wyłączać zgodnie z własnymi potrzebami i wygodą. Za każdym razem, gdy serwer się uruchamia, możesz użyć poleceń zarządzania systemd, aby sprawdzić, czy serwer jest WŁĄCZONY lub WYŁĄCZONY.

Najpierw utworzymy nowy plik jednostki, aby określić port wyświetlacza VNC, którego chcemy używać podczas zarządzania usługami. Zdefiniuj plik jednostki:

Znajdziesz @ symbol na końcu nazwy pliku, który umożliwia przekazanie argumentu do konfiguracji usługi.

Następnie dodaj te linie do pliku jednostki. Zmień nazwę User, Group, WorkingDirectory, oraz nazwę użytkownika w wartości PIDFILE:

Jeśli VNC już działa, polecenie ExecStartPre je zatrzyma. Polecenie ExecStart polecenie uruchamia VNC i ustawia głębię kolorów na 24-bitową o rozdzielczości 1280×800. Możesz edytować te opcje startowe w zależności od swoich wymagań. Pamiętaj również, że ExecStart polecenie ponownie zawiera -localhost opcję. Po zakończeniu zapisz i zamknij plik jednostki.

Następnie wprowadź nowy plik jednostki do swojego systemu:

Włącz aktywację pliku jednostki:

Znak 1 następujący po znaku @ oznacza, na którym numerze ekranu usługa powinna się pojawić. W naszym przypadku jest to domyślny :1, jak omówiono w Kroku-2. Jeśli VNC nadal działa, możesz zatrzymać bieżącą instancję serwera VNC za pomocą kill polecenia:

Następnie uruchom go tak, jak każdą inną usługę systemd:

Możesz zweryfikować, czy został uruchomiony, za pomocą tego polecenia:

Zobaczysz wynik:

Twój serwer VNC jest teraz gotowy do użycia przy każdym uruchomieniu serwera i możesz nim zarządzać za pomocą poleceń systemctl tak jak każdą inną usługą systemd. Nie zauważysz jednak żadnej różnicy po stronie klienta. Aby połączyć się ponownie, uruchom swój tunel SSH za pomocą:

Możesz ponownie nawiązać połączenie za pomocą klienta VNC z localhost:59000 ze swoim serwerem.

Podsumowanie

Początkowo konfiguracja serwera VNC może wydawać się wyzwaniem, szczególnie gdy próbujesz połączyć się z nowym komputerem. Gdy już nawiążesz stabilne połączenie, praca z komputerem zdalnym będzie przyjemna i ekscytująca. Dzięki zabezpieczonemu i działającemu serwerowi VNC na serwerze Ubuntu 20.04 możesz łatwo zarządzać swoimi zasobami, plikami, oprogramowaniem i ustawieniami za pomocą przyjaznego dla użytkownika interfejsu graficznego. Korzystanie z nadmiernej przepustowości łącza jest być może jedną z wad korzystania z VNC. Możesz to obejść, używając ekranów o niskiej rozdzielczości i w odcieniach szarości, aby uzyskać szybszy transfer.

Miłego korzystania z komputera!

author

Shreyas Patil

Autor · CloudSigma

Preslav Dobrev jest projektantem kreatywnym w CloudSigma, skupiającym się na spójnej tożsamości biznesowej przy wykorzystaniu tradycyjnych i innowacyjnych kanałów marketingowych. Biegle łączy wizję artystyczną ze strategicznym marketingiem, tworząc wywierające wpływ narracje marki.

Komentarze

Brak komentarzy. Bądź pierwszy.