웹사이트 검색

Rocky Linux에 VNC 서버를 설치하는 방법


이 페이지에서

  1. 전제 조건
  2. 데스크톱 환경 설치\n
  3. VNC 사용자 추가
  4. TigerVNC 서버 설치
  5. VNC 서버 시작
  6. 방화벽 설정\n
  7. 보안 SSH 터널을 통해 VNC 서버에 연결\n
  8. 결론

VNC(Virtual Network Computing)는 VNC 클라이언트 소프트웨어를 사용하여 컴퓨터를 원격으로 제어할 수 있는 데스크톱 공유 프로토콜입니다. VNC는 GUI(그래픽 사용자 인터페이스) 환경에서 작동하며 원격 프레임 버퍼(RFB) 프로토콜을 사용하여 네트워크를 통해 마우스 및 키보드 입력의 움직임을 전송합니다.

일반적으로 VNC는 기술자가 클라이언트 데스크톱을 제어하거나 집에서 사무실의 데스크톱에 액세스해야 하는 사람이 사용하는 데 사용됩니다. VNC는 VPN 네트워크 또는 SSH 터널링 연결을 통해 안전하게 사용할 수 있습니다.

이 튜토리얼에서는 Rocky Linux 서버에서 TigerVNC로 VNC 서버를 설정합니다. 또한 SSH 터널링을 통해 VNC 서버에 안전하게 연결하는 방법도 배웁니다.

전제 조건

이 자습서를 완료하려면 다음 요구 사항을 갖춘 서버가 필요합니다.

  • 새로운 Rocky Linux 서버 - Rocky Linux v8.5 또는 v9를 사용할 수 있습니다.\n
  • 루트 또는 관리자 권한이 있는 루트가 아닌 사용자.\n
  • 서버에서 활성화된 방화벽입니다.\n

데스크톱 환경 설치

기본 Rocky Linux 서버 설치는 GUI 없이 제공됩니다. VNC 서버를 설정하려면 Rocky Linux 서버에 데스크탑 환경을 설치해야 합니다. VNC 서버의 경우 더 나은 성능과 속도를 제공하는 경량 데스크톱 환경을 사용하는 것이 좋습니다.

Rocky Linux에는 데스크톱 환경을 제공하는 여러 패키지 그룹이 있습니다. 이 예에서는 Rocky Linux 시스템에서 VNC 서버의 데스크톱 환경으로 XFCE를 설치 및 구성합니다.

패키지 설치를 시작하기 전에 다음 dnf 명령을 실행하여 설치된 패키지를 최신 버전으로 업그레이드하십시오.

sudo dnf update

이제 아래의 dnf 명령을 통해 EPEL 저장소를 Rocky Linux 시스템에 추가하십시오. Y를 입력하여 EPEL 저장소를 추가하고 Enter 키를 누릅니다.

sudo dnf epel-release

다음으로 Rocky Linux 저장소에서 제공하는 그룹 패키지 "Xfce"를 통해 Desktop Environment XFCE를 설치합니다. 또한 Xorg 패키지가 포함된 "base-x" 그룹 패키지를 설치합니다.

sudo dnf groupinstall "Xfce" "base-x"

설치를 확인하라는 메시지가 표시되면 Y를 입력하고 ENTER를 눌러 계속 진행합니다.

XFCE 데스크탑과 base-x가 설치되면 아래의 systemctl 명령을 통해 그래픽 환경을 활성화합니다. 이렇게 하면 서버가 시작될 때 그래픽 환경이 활성화됩니다.

sudo systemctl set-default graphical

VNC 사용자 추가

보안을 위해 루트가 아닌 사용자를 사용하여 VNC 서버를 실행하는 것이 좋습니다. VNC 서버를 실행할 전용 사용자를 생성해야 합니다. 사용자에게 sudo 권한이 필요한 경우 사용자를 그룹 "wheel" 그룹에 추가할 수 있습니다.

다음 명령을 실행하여 새 사용자를 생성합니다. 그런 다음 사용자의 암호를 설정합니다. 이 예에서는 새 사용자 "jane"을 만들고 강력한 암호를 사용해야 합니다.

sudo useradd -m -s /bin/bash jane
sudo passwd jane

새 사용자가 생성된 후 다음 명령을 실행하여 "wheel" 그룹에 새 사용자를 추가합니다. 이렇게 하면 새 사용자가 sudo 명령을 실행하고 루트 권한을 얻을 수 있습니다.

sudo usermod -aG wheel jane

XFCE 데스크톱 환경이 설치되고 VNC 사용자가 생성되면 다음으로 TigerVNC 설치 및 구성을 시작합니다.

TigerVNC 서버 설치

VNC 서버를 설정하려면 VNC 서버 소프트웨어를 설치해야 합니다. 이 예에서는 Rocky Linux 리포지토리에서 기본적으로 사용 가능한 "TigerVNC Server"를 설치하고 사용합니다.

또한 VNC 서버 구성을 생성하고 기본 데스크톱 환경을 설정하고 VNC 사용자를 TigerVNC 서버 사용자 목록에 추가합니다.

Rocky Linux 시스템에 "tigervnc-server" 패키지를 설치하려면 아래 dnf 명령을 실행하십시오. 설치를 확인하라는 메시지가 표시되면 Y를 입력하고 ENTER를 눌러 계속 진행합니다.

sudo dnf install tigervnc-server

설치가 완료되면 다음으로 각 사용자(VNC 사용자)에 대해 VNC 서버를 설정합니다.

다음 명령을 사용하여 사용자에 로그인합니다.

su - jane

이제 다음 명령을 실행하여 "jane" 사용자의 VNC 서버를 초기화합니다. VNC 서버를 초기화하는 동안 VNC 서버의 비밀번호를 생성하라는 메시지가 표시되므로 강력한 비밀번호를 입력하고 반복하십시오. 그리고 "보기 전용 비밀번호"에 "n"을 입력하면 비활성화됩니다.

vncserver

이 명령은 "~/.vnc"에 위치할 VNC 서버 구성을 생성합니다. VNC 서버 구성에는 xstartup 스크립트, 데스크탑 환경 구성 및 VNC 프로세스에 대한 로그가 포함됩니다.

또한 새 VNC 프로세스가 "HOSTNAME:N"과 같은 이름으로 실행되고 있음을 볼 수 있습니다. 이는 시스템 호스트 이름과 데스크탑/디스플레이 :N을 의미합니다.

아래의 vncserver 명령을 통해 VNC 프로세스 목록을 확인합니다. 디스플레이 ":1"의 VNC 프로세스가 실행 중인 것을 볼 수 있습니다.

vncserver -list

이제 XFCE 데스크톱 환경을 설정하려면 현재 VNC 프로세스 ":1"을 종료해야 합니다. 아래의 vncserver 명령을 실행하여 디스플레이 ":1"에서 VNC 프로세스를 중지합니다.

vncserver -kill :1

VNC 프로세스가 종료되면 "Killing Xvnc process ID PID"와 같은 출력 메시지를 받아야 합니다.

이제 VNC 서버 구성을 생성했으므로 nano 편집기를 사용하여 "~/.vnc/config" 파일을 엽니다.

nano ~/.vnc/config

아래와 같이 기본 구성을 변경합니다. 이 예제에서는 XFCE를 VNC 서버의 기본 데스크톱 환경으로 사용하고 사용자가 VNC 서버에 연결하면 기본 디스플레이 화면은 "1920x1200"입니다. VNC 서버는 localhost에서만 실행되며 공유 데스크톱을 활성화합니다.

session=xfce
geometry=1920x1200
localhost
alwaysshared

파일을 저장하고 완료되면 편집기를 종료하십시오.

그런 다음 Ctrl+d를 누르고 루트 사용자 세션으로 돌아갑니다. 그런 다음 nano 편집기를 사용하여 /etc/tigervnc/vncserver.users 파일을 엽니다.

sudo nano /etc/tigervnc/vncserver.users

다음 구성과 같이 디스플레이 번호와 VNC 사용자를 추가합니다. 이 예에서 ":1" 디스플레이는 "jane" 사용자를 위해 VNC 서버를 실행하는 데 사용됩니다.

:1=jane

파일을 저장하고 완료되면 편집기를 종료하십시오.

VNC 서버 구성이 생성되고 기본 데스크톱 환경이 구성되고 VNC 사용자가 TigerVNC 사용자 목록에 추가되었으므로 이제 TigerVNC 서버를 시작하고 서비스로 실행할 준비가 되었습니다.

VNC 서버 시작

TigerVNC 서버는 동적 시스템 서비스 파일을 제공하며, 이는 각 디스플레이 또는 사용자에게 시스템 서비스가 있음을 의미합니다. 이 예에서 사용자 "jane"은 디스플레이가 ":1"인 VNC 서버를 실행하고 있으므로 서비스 파일은 "[email :1.service가 됩니다.

이제 새 VNC 사용자를 추가할 때마다 시스템 관리자를 다시 로드하여 새 변경 사항을 적용해야 합니다. 아래와 같이 systemctl 명령을 통해 systemd 관리자를 다시 로드할 수 있습니다.

sudo systemctl daemon-reload

그런 다음 다음 systemctl 명령을 사용하여 디스플레이 ":1"에 대해 "[email :1.service"를 시작하고 활성화합니다. 이렇게 하면 부팅 시 VNC 서버 프로세스 디스플레이 ":1"가 자동으로 실행됩니다.

sudo systemctl start :1.service

마지막으로 "[email :1.service"를 확인하여 서비스가 실행 중인지 확인합니다.

sudo systemctl status :1.service

"[email :1.service"가 실행 중인 경우 다음 스크린샷과 유사한 출력이 표시됩니다.

이제 Rocky Linux 서버에서 "Tiger-VNC"를 통해 VNC 서버의 설치 및 구성을 완료했습니다. 또한 XFCE를 VNC 서버의 기본 데스크탑 환경으로 구성했습니다. 다음으로 방화벽을 설정하여 VNC 서버를 보호합니다.

방화벽 설정

기본 Rocky Linux 서버에서 firewalld가 설치되고 활성화됩니다. 방화벽에 새 서비스 "vnc-server"를 추가합니다.

아래의 firewall-cmd 명령을 통해 방화벽에 "vnc-server" 서비스를 추가합니다. 그런 다음 방화벽 규칙을 다시 로드하여 새 변경 사항을 적용합니다.

sudo firewall-cmd --add-service=vnc-server --permanent
sudo firewall-cmd --reload

마지막으로 아래 명령을 사용하여 firewalld 규칙 목록을 확인합니다. 서비스 목록에 "vnc-server" 서비스가 표시되면 서비스 규칙이 추가되고 활성화된 것입니다.

sudo firewall-cmd --list-services

보안 SSH 터널을 통해 VNC 서버에 연결

SSH 터널링을 시작하려면 아래 ssh 명령을 실행하십시오. 이 예에서는 VNC 서버 IP 주소 "192.168.5.100"에 사용자 "jane"을 사용하여 TCP 포트 "5901" 포트의 localhost에 대한 새 터널링을 만듭니다. VNC 서버.

ssh -L 5901:127.0.0.1:5901 -N -f -l jane 192.168.5.100

사용자의 암호를 입력하십시오. 연결되면 포트 5901을 사용하여 localhost를 통해 VNC 서버에 연결할 수 있습니다.

로컬 컴퓨터에서 VNC 뷰어를 엽니다. 이 예에서는 "TigerVNC Viewer"를 사용합니다.

"VNC 서버" 주소에서 호스트를 localhost 또는 127.0.0.1 포트 5901로 입력합니다. 그런 다음 "연결"을 클릭하여 계속 진행합니다.

이제 사용자의 VNC 서버 비밀번호를 입력하고 "확인"을 클릭하십시오.

연결에 성공하면 다음 스크린샷에서 화면에 XFCE 데스크톱이 표시됩니다.

터미널을 열고 다음 명령을 실행하여 사용자를 확인할 수도 있습니다.

id
whoami
sudo su

결론

이 가이드에서는 Rocky Linux 서버에 TigerVNC와 함께 VNC 서버를 설치했습니다. 또한 XFCE를 VNC 서버의 기본 데스크탑 환경으로 설치하고 구성했습니다. 마지막으로 SSH 터널링을 통해 VNC 서버에 안전하게 연결하는 방법을 배웠습니다.

VNC 서버에 대한 또 다른 고려 사항은 방화벽을 통해 VNC 서버 포트에 액세스할 수 있는 IP 주소를 제한할 수 있다는 것입니다. 또한 로컬 VPN 서버를 통해 연결을 보호할 수 있습니다.