CentOS 7에서 VNC 설치 및 구성 방법

CentOS 7에서 VNC 설치 및 구성 방법

2022-06-01 last update

12 minutes reading centos vnc
이 강좌에서는 CentOS 7 시스템에 VNC 서버를 설치하고 구성하는 단계를 안내합니다.SSH 터널을 통해 VNC 서버에 안전하게 연결하는 방법도 보여 드리겠습니다.VNC(Virtual Network Computing)는 키보드와 마우스로 다른 컴퓨터를 원격으로 제어할 수 있는 그래픽 데스크톱 공유 시스템입니다.

선결 조건

본 강좌를 계속하기 전에 user with sudo privileges 로 로그인하십시오.
. 우리는 당신이 라는 사용자로 로그인했다고 가정합니다.

Xfce 데스크톱 환경 설치

CentOS 서버 설치는 일반적으로 데스크톱 환경이 설치되지 않기 때문에 경량급 데스크톱 환경을 설치하는 것부터 시작합니다.설치Xfce
. 그것은 빠르고 안정적이며 시스템 자원이 적어서 원격 서버에서 사용하기에 매우 적합하다.Xfce 패키지는 EPEL repository 에서 제공됩니다.
. 서버에 저장소가 설정되어 있지 않으면 다음을 입력하여 저장소를 설정할 수 있습니다. 저장소를 추가한 후 CentOS에서 사용하십시오:
sudo yum install epel-release
시스템에 따라 Xfce를 설치하십시오. Xfce 패키지를 다운로드하고 설치하려면 시간이 좀 걸릴 수 있습니다.

VNC 서버 설치

선택한 VNC 서버로 TigerVNC를 사용합니다.TigerVNC
사전 예방적으로 유지 관리되는 고성능 오픈 소스 VNC 서버입니다.다음 명령을 입력하여 CentOS 서버에 TigerVNC를 설치합니다.
sudo yum groupinstall xfce
현재 VNC 서버가 설치되어 있으며, 다음 단계는 실행vncserver 명령입니다. 이 명령은 초기 구성을 만들고 암호를 설정합니다.다음 명령을 실행할 때 sudo를 사용하지 마십시오.
sudo yum install tigervnc-server
암호를 입력하고 확인하라는 메시지와 암호만 보기로 설정할지 여부를 알려 줍니다.암호만 보기 설정을 선택하면 사용자는 마우스와 키보드를 사용하여 VNC 인스턴스와 상호작용할 수 없습니다.
vncserver
명령을 처음 실행할 때 vncserver 디렉터리에 암호 파일을 만들고 저장합니다. 존재하지 않으면 디렉터리를 만듭니다.hostname 다음으로 기록~/.vnc위의 출력에서이것은 vnc 서버를 실행하는 디스플레이 포트 번호를 표시합니다.예제에서 서버는 TCP 포트:1(5900+1)에서 실행됩니다.5901를 사용하여 두 번째 인스턴스를 만들면 다음 사용 가능한 포트 vncserver 에서 실행됩니다. 이는 서버가 포트 :2 (5900+2) 에서 실행되고 있음을 의미합니다.기억해야 할 것은 VNC 서버를 사용할 때 5902:X 의 디스플레이 포트입니다.다음 단계를 진행하기 전에 먼저 5900+X 명령 및 vncserver 옵션과 서버 번호를 매개 변수로 사용하여 VNC 인스턴스를 중지합니다.이 예에서 서버는 포트 5901-kill에서 실행 중이므로
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//.Xauthority does not exist

New 'server2.:1 ()' desktop at :1 on machine server2.

Starting applications specified in /etc/X11/Xvnc-session
Log file is /home//.vnc/server2.:1.log
vncserver -kill :1

VNC 서버 구성

을 사용합니다. 서버에 Xfce와 TigerVNC가 설치되어 있으면 다음 단계는 TigerVNC를 설정하여 Xfce를 사용하는 것입니다.이렇게 하려면
Killing Xvnc process ID 2432
파일을 열고 :1 에서 exec /etc/X11/xinit/xinitrc 으로 마지막 행을 변경합니다. ~/.vnc/xstartup
nano ~/.vnc/xstartup
에서 파일을 저장하고 닫습니다.이러한 스크립트는 TigerVNC 서버를 시작하거나 재부팅할 때마다 자동으로 실행됩니다.(adsbygoogle=window.adsbygoogle | |[]).푸시({});통과가 필요한 경우 additional options
VNC 서버에서 파일exec startxfce4을 열고 행마다 옵션을 추가합니다.파일에는 가장 자주 사용하는 옵션이 나열되어 있습니다.사용자의 취향에 따라 주석과 수정을 취소합니다.다음은 ~/의 예입니다.vnc/config
#!/bin/sh
unset SESSION_MANAGER
unset DBUS_SESSION_BUS_ADDRESS
exec startxfce4 

Systemd 단위 파일 만들기

우리는 필요에 따라 vnc 서비스를 쉽게 시작하고 정지하며 다시 시작할 수 있도록 시스템d 단원 파일을 만들 것입니다. 다른 시스템d 서비스와 마찬가지입니다. ~/.vnc/config 를 사용하여 vncserver 단위 파일 복사
명령:
# securitytypes=vncauth,tlsvnc
# desktop=sandbox
geometry=1920x1080
# localhost
# alwaysshared
dpi=96
텍스트 편집기로 파일을 열고 노란색으로 강조 표시된 줄을 편집하고 실제 사용자 이름으로 바꾸십시오:
sudo cp /usr/lib/systemd/system/[email protected] /etc/systemd/system/vnc[email protected]:1.service
/etc/systemd/system/vncserver @:1.서비스
sudo nano /etc/systemd/system/[email protected]\:1.service
는 파일을 저장하고 닫습니다.알림 시스템d에서 사용합니다.
[Unit]
Description=Remote desktop service (VNC)
After=syslog.target network.target

[Service]
Type=forking
User=
Group=

# Clean any existing files in /tmp/.X11-unix environment
ExecStartPre=/bin/sh -c '/usr/bin/vncserver -kill %i > /dev/null 2>&1 || :'
ExecStart=/usr/bin/vncserver %I
PIDFile=/home//.vnc/%H%i.pid
ExecStop=/bin/sh -c '/usr/bin/vncserver -kill %i > /dev/null 2>&1 || :'

[Install]
WantedBy=multi-user.target
새 단원 파일을 만들었습니다. 다음 명령으로 단원 파일을 사용합니다.
sudo systemctl daemon-reload
기호 cp 의 숫자 1 는 VNC 서비스가 실행될 디스플레이 포트를 정의합니다.이 예에서는 기본값@이며 VNC 서버는 이전 절에서 설명한 대로 스캔 포트1를 사용합니다.실행:
sudo systemctl enable [email protected]:1.service
서비스가 성공적으로 시작되었는지 확인:
sudo systemctl start [email protected]:1.service
sudo systemctl status [email protected]:1.service

VNC 서버에 연결

VNC는 암호화 프로토콜이 아니므로 패킷 탐지가 가능합니다.제안된 방법은 만들기SSH tunnel
이것은 포트 5901의 로컬 컴퓨터에서 같은 포트의 서버로 통신을 안전하게 전달할 것이다.

Linux 및 macOS에 SSH 터널 설정

컴퓨터에서 Linux, macOS 또는 다른 유닉스 기반 운영체제를 실행하면 다음 명령을 사용하여 터널을 쉽게 만들 수 있습니다 5901
명령:
[email protected]:1.service - Remote desktop service (VNC)
   Loaded: loaded (/etc/systemd/system/[email protected]:1.service; enabled; vendor preset: disabled)
   Active: active (running) since Mon 2020-04-06 19:27:47 UTC; 16s ago
  Process: 909 ExecStart=/usr/bin/vncserver %I (code=exited, status=0/SUCCESS)
  Process: 891 ExecStartPre=/bin/sh -c /usr/bin/vncserver -kill %i > /dev/null 2>&1 || : (code=exited, status=0/SUCCESS)
 Main PID: 923 (Xvnc)
 ...
사용자 암호를 입력하라는 메시지가 표시됩니다.사용자 이름과 서버의 IP 주소 sshusername 를 교체하는 것을 잊지 마십시오.

Windows에 SSH 터널 설정

Windows를 실행하는 경우 PuTTY SSH client 를 사용하여 SSH 터널을 설정할 수 있습니다.
.Putty를 열고 server_ip_address 필드에 서버 IP 주소를 입력합니다. 메뉴에서 Host name or IP address 을 확장하고 Connection 를 선택합니다.SSH 필드에 VNC 서버 포트(Tunnels를 입력하고 5901 필드에Source Port를 입력한 다음 server_ip_address:5901 단추를 누르면 다음 그림과 같이 페이지로 돌아가 설정을 저장하면 매번 입력할 필요가 없습니다.원격 서버에 로그인하려면 저장된 세션을 선택하고 Destination 단추

Vncviewer 연결 사용

를 클릭합니다. 이제 SSH 터널을 설치했습니다. 이제 Vncviewer를 열고 Add 에 있는 VNC 서버에 연결할 때입니다.TigerVNC, TightVNC, RealVNC, UltraVNC, Vinagre 및 VNC 뷰어 forGoogle Chrome와 같은 모든 VNC 뷰어를 사용할 수 있습니다.
.이 예에서는 TigerVNC를 사용합니다.VNC 뷰어를 열고 Session 를 입력한 다음 Open 버튼을 클릭합니다. 프롬프트가 나타날 때 암호를 입력하면 기본 Xfce 데스크톱이 표시됩니다.이렇게 해야 합니다. 이제 키보드와 마우스를 사용하여 로컬 시스템부터 원격 XFCE 데스크톱과 상호작용할 수 있습니다.

결론

이제 VNC 서버를 설치하고 실행했으며 그래픽 인터페이스를 사용하여 CentOS 7 서버를 쉽게 관리할 수 있습니다.여러 사용자의 디스플레이를 시작하도록 VNC 서버를 구성하려면 localhost:5901 명령을 사용하여 초기 구성을 작성하고 암호를 설정하고 다른 포트를 사용하여 새 서비스 파일을 만듭니다.질문이 있으시면 언제든지 논평을 주십시오.