웹사이트 검색

RHEL 8에 VNC 서버를 설치하는 방법


VNC(가상 네트워크 컴퓨팅)는 인터넷과 같은 네트워크를 통해 다른 컴퓨터에 원격으로 액세스하고, 보고, 제어할 수 있는 그래픽 데스크탑 공유용 인기 플랫폼입니다.

VNC원격 프레임 버퍼 프로토콜(RFB)을 사용하고 클라이언트-서버 원칙에 따라 작동합니다. 즉, 서버는 출력을 공유합니다(vncserver ) 및 클라이언트(vncviewer)가 서버에 연결됩니다. 원격 컴퓨터에는 데스크톱 환경이 설치되어 있어야 합니다.

이 문서에서는 tigervnc-server를 통해 RHEL 8 데스크톱 버전의 최신 릴리스에서 VNC 원격 액세스를 설치하고 구성하는 방법을 설명합니다. 프로그램.

요구사항:

  1. 최소한의 설치로 RHEL 8
  2. RedHat 구독이 활성화된 RHEL 8
  3. 고정 IP 주소를 사용하는 RHEL 8

RHEL 8 시스템이 위에 나열된 요구 사항을 충족하면 VNC 서버로 설정할 준비가 된 것입니다.

1단계: Wayland Display Manager 비활성화 및 X.org 활성화

1. RHEL 8의 기본 데스크톱 환경(DE)은 GNOME입니다. 기본적으로 Wayland 디스플레이 관리자를 사용하도록 구성되어 있습니다. 그러나 WaylandX.org와 같은 원격 렌더링 API가 아닙니다. 따라서 X.org 디스플레이 관리자를 사용하도록 시스템을 구성해야 합니다.

즐겨 사용하는 명령줄 편집기를 사용하여 GNOME 디스플레이 관리자(GDM) 구성 파일을 엽니다.

vi /etc/gdm/custom.conf

그런 다음 로그인 화면에서 Xorg를 사용하도록 하려면 이 줄의 주석 처리를 해제하세요.

WaylandEnable=false

파일을 저장하고 닫습니다.

2단계: RHEL 8에 VNC 서버 설치

2. TigerVNC(Tiger Virtual Network Computing)는 오픈 소스로, 원격 제어가 가능한 그래픽 데스크톱 공유용으로 널리 사용되는 시스템입니다. 다른 컴퓨터.

dnf install tigervnc-server tigervnc-server-module

3. 다음으로 실행하려는 사용자로 전환하고 그림과 같이 사용자의 VNC 서버 비밀번호(6자 이상이어야 함)를 설정하여 VNC 프로그램을 사용합니다. .

su - tecmint
vncpasswd

이제 exit 명령을 실행하여 루트 계정으로 다시 전환합니다.

exit

3단계 RHEL 8에서 VNC 서버 구성

4. 이 단계에서는 시스템에서 위 사용자에 대한 디스플레이를 시작하도록 TigerVNC 서버를 구성해야 합니다. 다음과 같이 /etc/systemd/system/[email 라는 구성 파일을 만드는 것부터 시작하세요.

vi /etc/systemd/system/[email 

여기에 다음 구성을 추가합니다(tecmint를 실제 사용자 이름으로 바꾸는 것을 잊지 마세요).

[Unit] 
Description=Remote desktop service (VNC) 
After=syslog.target network.target 

[Service] 
Type=forking 
WorkingDirectory=/home/tecmint 
User=tecmint 
Group=tecmint 

PIDFile=/home/tecmint/.vnc/%H%i.pid 

ExecStartPre=/bin/sh -c '/usr/bin/vncserver -kill %i > /dev/null 2>&1 || :' 
ExecStart=/usr/bin/vncserver -autokill %i 
ExecStop=/usr/bin/vncserver -kill %i 

[Install] 
WantedBy=multi-user.target

파일을 저장하고 닫습니다.

더 나아가기 전에 VNC 서버가 요청을 수신하는 방법을 간략하게 이해해 보겠습니다. 기본적으로 VNC는 TCP 포트 5900+N을 사용합니다. 여기서 N은 디스플레이 번호입니다. 디스플레이 번호가 1이면 VNC 서버는 디스플레이 포트 번호 5901에서 실행됩니다. 클라이언트에서 서버에 연결하는 동안 사용해야 하는 포트입니다.

4단계: RHEL 8에서 VNC 서비스 활성화

5. VNC 서비스를 시작하려면 RHEL 8에서 기본적으로 강제 모드인 SELinux를 비활성화해야 합니다.

setenforce 0
sed -i 's/enforcing/disabled/g' /etc/selinux/config

6. 이제 systemd 관리자 구성을 다시 로드하여 최근 변경 사항을 적용한 다음 VNC 서비스를 시작하고 시스템 부팅 시 자동 시작되도록 활성화하고 다음 systemctl 명령을 사용하여 서비스가 실행 중인지 확인합니다. .

systemctl daemon-reload
systemctl start vncserver@:1
systemctl status vncserver@:1
systemctl enable vncserver@:1

7. 이 시점에서 VNC 서비스가 실행 중입니다. netstat 명령을 사용하여 VNC 서버가 TCP 포트 5901에서 수신 대기하고 있는지 확인하세요.

netstat -tlnp

8. 다음으로 그림과 같이 기본적으로 실행되는 시스템 방화벽 서비스에서 5901 포트를 엽니다. 이를 통해 클라이언트에서 VNC 서비스에 액세스할 수 있습니다.

firewall-cmd --permanent --add-port=5901/tcp
firewall-cmd --reload

5단계: VNC 클라이언트를 통해 VNC 서버에 연결

9. 이제 클라이언트 측에서 VNC 서버에 액세스하는 방법을 살펴보겠습니다. VNC는 기본적으로 보안 시스템이 아니므로 연결이 전혀 암호화되지 않습니다. 그러나 아래 설명된 SSH 터널링이라는 기술을 사용하여 클라이언트에서 서버로의 연결을 보호할 수 있습니다.

두 Linux 시스템 간의 신뢰를 높이려면 서버와 클라이언트 시스템 간에 비밀번호 없는 SSH 인증을 구성해야 한다는 점을 기억하십시오.

그런 다음 Linux 클라이언트 시스템에서 터미널 창을 열고 다음 명령을 실행하여 VNC 서버에 대한 SSH 터널을 만듭니다(ID 파일의 경로를 변경하는 것을 잊지 마십시오(~/.ssh/rhel8). ) 및 서버의 IP 주소(192.168.56.110)에 따라):

ssh -i ~/.ssh/rhel8 -L 5901:127.0.0.1:5901 -N -f -l tecmint 192.168.56.110

10. SSH 터널을 생성한 후 TigerVNC 뷰어와 같은 vncviewer 클라이언트를 클라이언트 시스템에 설치할 수 있습니다.

sudo apt install tigervnc-viewer         #Ubuntu/Debian
yum install tigervnc-viewer              #CnetOS/RHEL
yum install tigervnc-viewer              #Fedora 22+
sudo zypper install tigervnc-viewer      #OpenSUSE
pacman -S tigervnc                       #Arch Linux

11. 설치가 완료되면 VNC 클라이언트를 실행하고 localhost:5901 주소를 지정하여 연결하면 다음과 같이 1이 표시됩니다.

vncviewer localhost:5901
OR
vncviewer 127.0.0.1:5901

아니면, 시스템 메뉴에서 VNC 클라이언트 프로그램을 검색하여 열고, 위의 주소를 입력한 뒤 아래 스크린샷과 같이 연결을 클릭하세요.

연결에 성공하면 앞서 2단계 3번에서 생성한 VNC 로그인 비밀번호를 입력하라는 메시지가 표시됩니다. 비밀번호를 입력하고 확인을 클릭하여 계속 진행하세요.

VNC 서버 인증이 성공하면 원격 RHEL 8 시스템 데스크탑 인터페이스가 표시됩니다. 로그인 인터페이스에 액세스하려면 Enter를 클릭하고 데스크탑에 액세스하기 위한 비밀번호를 입력하십시오.

이 문서에서는 RHEL 8에서 VNC 서버를 설치하고 구성하는 방법을 보여주었습니다. 평소와 마찬가지로 아래 피드백 양식을 통해 질문하실 수 있습니다.