VNC(Virtual Network Computing)는 키보드와 마우스를 사용하여 다른 컴퓨터를 원격으로 제어할 수 있는 그래픽 데스크톱 공유 시스템입니다.
이 자료에서는 CentOS 8에서 VNC 서버를 설치하고 구성하는 단계를 설명합니다. SSH 터널을 통해 VNC 서버에 안전하게 연결하는 방법도 설명합니다.
필수 구성 요소
이 안내에 따르면 원격 CentOS에 대한 sudo 권한을 가진 사용자로 로그인해야 합니다.
데스크톱 환경을 설치
일반적으로 서버에는 데스크톱 환경이 설치되어 있지 않습니다. 연결하려는 기기에 GUI가 없다면 먼저 설치해야 합니다. 그렇지 않으면 이 단계를 건너뜁니다.
다음 명령을 실행하여 CentOS 8의 기본 데스크톱 환경인 Gnome을 설치합니다.
sudo dnf groupinstall "Server with GUI"
시스템에 따라 Gnome 패키지 및 종속성을 다운로드하고 설치하는 데 시간이 걸릴 수 있습니다.
VNC 서버를 설치
TigerVNC는 활발히 유지되고 있는 고성능 오픈 소스 VNC 서버입니다. 기본 CentOS 저장소입니다. 설치하려면 다음을 입력하십시오.
sudo dnf install tigervnc-server
VNC 서버를 구성
CentOS 8에서 TigerVNC는 systemd 대몬을 사용하여 구성됩니다.
이 예에서는 한 명 이상의 VNC 사용자에 대해 TigerVNC를 구성하는 방법을 보여 줍니다.
vncpasswd 명령을 사용하여 암호를 설정합니다. VNC 서버에 액세스할 사용자로 명령을 실행하고 sudo를 사용하지 마십시오.
vncpasswd
# Password:
# Verify:
# Would you like to enter a view-only password (y/n)? n
# A view-only password is not used
비밀번호를 입력하고 확인하라는 메시지와 보기 전용 비밀번호로 설정할지 여부를 묻는 메시지가 나타납니다. 보기 전용 암호를 설정하도록 선택하면 사용자가 마우스 및 키보드와 VNC 인스턴스와 상호 작용할 수 없습니다.
vncpasswd 명령이 처음 실행될 때 사용자의 ~.vnc 디렉토리에 암호 파일을 생성하고 저장합니다.
두 번째 사용자를 추가하는 경우 해당 사용자로 전환하고 vncpasswd로 암호를 설정합니다.
다음 단계는 Gnome을 사용하도록 TigerVNC를 구성하는 것입니다. VNC는 ~.vnc/config 파일에서 사용자 구성 설정을 읽습니다. 파일을 열고 다음을 추가합니다.
vim ~/.vnc/config
# session=gnome
# geometry=1920x1200
# localhost
# alwaysshared
세션 옵션은 시작할 세션을 지정하고 지오메트리 옵션은 VNC 데스크톱 크기를 지정합니다.
파일을 저장한 후 닫습니다. 여러 명의 사용자를 추가하는 경우, 동일한 단계를 반복합니다.
TigerVNC는 사용자를 특정 포트에 매핑할 수 있는 파일과 함께 제공됩니다. 매핑은 /etc/tigervnc/vncserver.users 파일에서 구성됩니다.
이 파일은 <display_port>=<display> 구문을 사용합니다. 아래 예에서는 디스플레이 포트:1을 사용자 리눅스에 매핑하고 있습니다. 사용자를 더 추가하려면 동일한 형식을 사용합니다.
sudo vim /etc/tigervnc/vncserver.users
# # TigerVNC User assignment
#
# This file assigns users to specific VNC display numbers.
# The syntax is <display>=<username>. E.g.:
#
# :2=andrew
# :3=lisa
# :1=jjeongil
:1은 VNC 서버가 실행될 디스플레이 포트 번호입니다. 이 경우 서버는 TCP 포트 5901(5900+1)에서 실행 중입니다. 포트 :2를 표시하도록 다른 사용자를 매핑할 경우, 서버는 포트 5902(5900+2)에서도 수신 대기합니다.
VNC 서버에서 작업할 때 :X는 5900+X를 참조하는 디스플레이 포트입니다.
Tigervnc 서버를 시작
구성을 완료한 후 마지막 단계는 VNC 서버를 시작하는 것입니다.
표시 포트 1에 매핑된 사용자에 대해 VNC 서비스를 시작하고 사용하려면 다음을 입력합니다.
sudo systemctl enable vncserver@:1 --now
이전 섹션에서 설명한 대로 VNC 서버는 포트 5901에서 수신됩니다.
서비스가 성공적으로 시작되었는지 확인할 수 있습니다.
sudo systemctl status vncserver@:1
# ● vncserver@:1.service - Remote desktop service (VNC)
# Loaded: loaded (/usr/lib/systemd/system/vncserver@.service; enabled; vendor preset: disabled)
# Active: active (running) since Thu 2020-12-17 21:49:41 UTC; 8s ago
# ...
다른 사용자에 대해 VNC를 사용하도록 설정하려면 1을 사용자에게 매핑된 표시 포트로 바꾸면 됩니다.
VNC 서버에 연결
VNC는 암호화된 프로토콜이 아니므로 패킷 스니핑의 대상이 될 수 있습니다. SSH 터널을 만들어 포트 5901의 로컬 시스템에서 동일한 포트의 원격 서버로 트래픽을 안전하게 전달하는 것이 좋습니다.
Linux 및 macOS에서 SSH 터널링을 설정
시스템에서 리눅스, macOS 또는 기타 Unix 기반 운영 체제를 실행하는 경우 다음 ssh 명령을 사용하여 터널을 쉽게 생성할 수 있습니다.
ssh -L 5901:127.0.0.1:5901 -N -f -l username remote_server_ip
사용자 암호를 입력하라는 메시지가 표시됩니다.
사용자 이름과 server_ip_address를 사용자 이름과 서버의 IP 주소로 바꾸는 것을 잊지 마십시오.
윈도우즈에서 SSH 터널링을 설정
윈도우즈 사용자는 PuTTY 를 사용하여 SSH 터널링을 설정할 수 있습니다.
Putty를 열고 호스트 이름 또는 IP 주소 필드에 서버 IP 주소를 입력합니다.
연결 메뉴에서 SSH를 확장하고 터널을 선택합니다. 소스 포트 필드에 VNC 서버 포트(5901)를 입력하고 대상 필드에 server_ip_address:5901을 입력한 후 아래 이미지와 같이 추가 버튼을 클릭합니다.
세션 페이지로 돌아가 매번 입력할 필요가 없도록 설정을 저장합니다. 원격 서버에 로그인하려면 저장된 세션을 선택하고 열기 버튼을 클릭합니다.
Vncviewer를 사용하여 연결
원격 서버에 연결하려면 VNC 뷰어를 열고 localhost:5901을 입력합니다.
Google Chrome용 TigerVNC, TightVNC, RealVNC, UltraVNC, Vinagre 및 VNC Viewer와 같은 VNC 뷰어를 사용할 수 있습니다.
메시지가 나타나면 비밀번호를 입력합니다. 그러면 기본 Gnome 바탕 화면이 나타납니다. 다음과 같은 모양이어야 합니다.
이제 키보드와 마우스를 사용하여 로컬 컴퓨터에서 원격 데스크톱 작업을 시작할 수 있습니다.
'SW > 리눅스' 카테고리의 다른 글
Linux : CentOS 8 : Xrdp Server (Remote Desktop) 설치 방법, 예제, 명령어 (0) | 2022.06.25 |
---|---|
Linux : Debian 10 : Yarn 설치 방법, 예제, 명령어 (0) | 2022.06.23 |
Linux : Bash : Select : Make Menus : 사용 방법, 예제, 명령어 (0) | 2022.06.21 |
Linux : Bash : break 와 continue 문법, 사용 방법, 예제, 명령어 (0) | 2022.06.20 |
Linux : CentOS 8 : Nginx 서버 블록 설정 방법, 예제, 명령어 (0) | 2022.06.19 |