Android

Jak zainstalować i skonfigurować VNC na Centos 7

AB Tutorials - VNC Server Configuration On Centos 7

AB Tutorials - VNC Server Configuration On Centos 7

Spisu treści:

Anonim

W tym samouczku przeprowadzimy Cię przez proces instalowania i konfigurowania serwera VNC w systemie CentOS 7. Pokażemy również, jak bezpiecznie połączyć się z serwerem VNC przez tunel SSH.

Virtual Network Computing (VNC) to graficzny system udostępniania pulpitu, który pozwala używać klawiatury i myszy do zdalnego sterowania innym komputerem.

Wymagania wstępne

Przed kontynuowaniem samouczka upewnij się, że jesteś zalogowany jako użytkownik z uprawnieniami sudo. Zakładamy, że jesteś zalogowany jako użytkownik o nazwie linuxize .

Instalowanie środowiska graficznego Xfce

Instalacje serwera CentOS często nie są dostarczane z zainstalowanym środowiskiem graficznym, więc zaczniemy od instalacji lekkiego środowiska graficznego.

W tym przewodniku będziemy instalować Xfce. Jest szybki, stabilny i ma mało zasobów systemowych, co czyni go idealnym do użycia na zdalnych serwerach.

Pakiety Xfce są dostępne w repozytoriach EPEL. Jeśli nie masz włączonego repozytorium EPEL na swoim serwerze, możesz to zrobić, wpisując:

sudo yum install epel-release

Po dodaniu repozytorium zainstaluj Xfce na CentOS za pomocą:

sudo yum groupinstall xfce

W zależności od systemu pobieranie i instalowanie pakietów Xfce i zależności mogą zająć trochę czasu.

Instalowanie serwera VNC

Będziemy używać TigerVNC jako naszego wybranego serwera VNC. TigerVNC jest aktywnie utrzymywanym, wysokowydajnym serwerem VNC typu open source.

Wpisz następujące polecenie, aby zainstalować TigerVNC na serwerze CentOS:

yum install tigervnc-server

Teraz, gdy serwer VNC jest zainstalowany, następnym krokiem jest uruchomienie komendy vncserver która utworzy początkową konfigurację i ustawi hasło. Nie używaj sudo podczas uruchamiania następującego polecenia:

vncserver

Zostaniesz poproszony o podanie i potwierdzenie hasła oraz czy ustawić go jako hasło tylko do odczytu. Jeśli zdecydujesz się ustawić hasło tylko do odczytu, użytkownik nie będzie mógł wchodzić w interakcje z instancją VNC za pomocą myszy i klawiatury.

You will require a password to access your desktops. Password: Verify: Would you like to enter a view-only password (y/n)? n /usr/bin/xauth: file /home/linuxize/.Xauthority does not exist New 'server2.linuxize.com:1 (linuxize)' desktop at:1 on machine server2.linuxize.com Starting applications specified in /etc/X11/Xvnc-session Log file is /home/linuxize/.vnc/server2.linuxize.com:1.log

Przy pierwszym uruchomieniu komenda vncserver utworzy i zapisze plik haseł w katalogu ~/.vnc który zostanie utworzony, jeśli nie będzie obecny.

Uwaga :1 po nazwie hosta na powyższym wyjściu. Wskazuje numer portu wyświetlania, na którym działa serwer VNC. W naszym przypadku serwer działa na porcie TCP 5901 (5900 + 1). Jeśli utworzysz drugie wystąpienie za pomocą vncserver , będzie ono działać na następnym wolnym porcie, tj. :2 co oznacza, że ​​serwer działa na porcie 5902 (5900 + 2).

Należy pamiętać, że podczas pracy z serwerami VNC :X jest portem wyświetlania, który odnosi się do 5900+X

Przed przejściem do następnego kroku najpierw zatrzymaj instancję VNC, używając komendy vncserver z opcją -kill i numerem serwera jako argumentem. W naszym przypadku serwer działa na porcie 5901 ( :1 ), więc zatrzymamy go:

vncserver -kill:1

Killing Xvnc process ID 2432

Konfigurowanie serwera VNC

Teraz, gdy zarówno Xfce, jak i TigerVNC są zainstalowane na naszym serwerze CentOS, następnym krokiem jest skonfigurowanie TigerVNC do korzystania z Xfce. Aby to zrobić, otwórz następujący plik:

nano ~/.vnc/xstartup

I zmień ostatni wiersz z exec /etc/X11/xinit/xinitrc na exec startxfce4 :

~ /.vnc / xstartup

#!/bin/sh unset SESSION_MANAGER unset DBUS_SESSION_BUS_ADDRESS exec startxfce4

Zapisz i zamknij plik. Powyższy skrypt zostanie automatycznie wykonany przy każdym uruchomieniu lub ponownym uruchomieniu serwera TigerVNC.

Oto przykład:

~ /.vnc / config

# securitytypes=vncauth, tlsvnc # desktop=sandbox geometry=1920x1080 # localhost # alwaysshared dpi=96

Tworzenie pliku jednostki Systemd

Stworzymy plik jednostki systemowej, który umożliwi nam łatwe uruchomienie, zatrzymanie i ponowne uruchomienie usługi VNC w razie potrzeby, tak samo jak w przypadku każdej innej usługi systemowej.

Skopiuj plik jednostki vncserver za pomocą polecenia cp :

sudo cp /usr/lib/systemd/system/[email protected] /etc/systemd/system/vncserver@:1.service

Otwórz plik za pomocą edytora tekstu i zamień z twoją rzeczywistą nazwą użytkownika.

sudo nano /etc/systemd/system/vncserver@\:1.service /etc/systemd/system/vncserver@:1.service

Description=Remote desktop service (VNC) After=syslog.target network.target Type=forking # Clean any existing files in /tmp/.X11-unix environment ExecStartPre=/bin/sh -c '/usr/bin/vncserver -kill %i > /dev/null 2>&1 ||:' ExecStart=/usr/sbin/runuser -l linuxize -c "/usr/bin/vncserver %i" PIDFile=/home/linuxize/.vnc/%H%i.pid ExecStop=/bin/sh -c '/usr/bin/vncserver -kill %i > /dev/null 2>&1 ||:' WantedBy=multi-user.target

Zapisz i zamknij plik. Powiadom systemd, że utworzyliśmy nowy plik jednostki z:

sudo systemctl daemon-reload

Następnym krokiem jest włączenie pliku jednostkowego za pomocą następującego polecenia:

sudo systemctl enable vncserver@:1.service

Liczba 1 po znaku @ określa port wyświetlania, na którym będzie działać usługa VNC, w naszym przypadku jest to domyślna wartość 1 a serwer VNC będzie nasłuchiwał na porcie 5901 jak omówiliśmy w poprzedniej sekcji.

Uruchom usługę VNC, wykonując:

sudo systemctl start vncserver@:1.service

Sprawdź, czy usługa została pomyślnie uruchomiona za pomocą:

sudo systemctl status vncserver@:1.service

● vncserver@:1.service - Remote desktop service (VNC) Loaded: loaded (/etc/systemd/system/vncserver@:1.service; enabled; vendor preset: disabled) Active: active (running) since Sun 2018-09-16 09:59:53 UTC; 4s ago Process: 6391 ExecStart=/usr/sbin/runuser -l linuxize -c /usr/bin/vncserver %i (code=exited, status=0/SUCCESS) Process: 6389 ExecStartPre=/bin/sh -c /usr/bin/vncserver -kill %i > /dev/null 2>&1 ||: (code=exited, status=0/SUCCESS) Main PID: 6413 (Xvnc) CGroup: /system.slice/system-vncserver.slice/vncserver@:1.service ‣ 6413 /usr/bin/Xvnc:1 -auth /home/linuxize/.Xauthority -desktop server2.linuxize.com:1 (linuxize) -fp catalogue:/etc/X11/fontpath.d -geometry 1024x768 -pn -rfbauth /home/linuxize/.vnc/passwd -rfbport…

Łączenie z serwerem VNC

VNC nie jest protokołem szyfrowanym i może podlegać wąchaniu pakietów. Zalecanym podejściem jest utworzenie tunelu SSH, który bezpiecznie przekaże ruch z komputera lokalnego na porcie 5901 do serwera na tym samym porcie.

Skonfiguruj tunelowanie SSH w systemie Linux i macOS

ssh -L 5901:127.0.0.1:5901 -N -f -l username server_ip_address

Zostaniesz poproszony o podanie hasła użytkownika.

Nie zapomnij zastąpić username i server_ip_address swoją nazwą użytkownika i adresem IP serwera.

Skonfiguruj tunelowanie SSH w systemie Windows

Otwórz Putty i wprowadź adres IP swojego serwera w polu Host name or IP address .

Możesz teraz rozpocząć interakcję ze zdalnym pulpitem XFCE z lokalnego komputera za pomocą klawiatury i myszy.

Wniosek

Do tej pory powinieneś mieć uruchomiony serwer VNC i możesz łatwo zarządzać serwerem CentOS 7 za pomocą interfejsu graficznego.

Aby skonfigurować serwer VNC do uruchamiania wyświetlania dla więcej niż jednego użytkownika, utwórz konfigurację początkową i skonfiguruj hasło za pomocą polecenia vncserver i utwórz nowy plik usługi przy użyciu innego portu.

Jeśli masz jakieś pytania, zostaw komentarz.

centos vnc