기계적 인조 인간

CentOS 7에서 VNC를 설치하고 구성하는 방법

Learn CentOS Part 2 - Navigating the GNOME Desktop

Learn CentOS Part 2 - Navigating the GNOME Desktop

차례:

Anonim

이 자습서에서는 CentOS 7 시스템에서 VNC 서버를 설치 및 구성하는 단계를 안내합니다. 또한 SSH 터널을 통해 VNC 서버에 안전하게 연결하는 방법을 보여줍니다.

VNC (Virtual Network Computing)는 키보드와 마우스를 사용하여 다른 컴퓨터를 원격으로 제어 할 수있는 그래픽 데스크탑 공유 시스템입니다.

전제 조건

학습서를 계속하기 전에 sudo 권한이있는 사용자로 로그인했는지 확인하십시오. linuxize 라는 사용자로 로그인 한 것으로 가정합니다.

Xfce 데스크탑 환경 설치

CentOS 서버 설치에는 종종 데스크탑 환경이 설치되어 있지 않으므로 경량 데스크탑 환경을 설치하는 것으로 시작합니다.

이 가이드에서는 Xfce를 설치합니다. 빠르고 안정적이며 시스템 리소스가 적기 때문에 원격 서버에서의 사용에 이상적입니다.

Xfce 패키지는 EPEL 리포지토리에서 사용할 수 있습니다. 서버에서 EPEL 리포지토리를 사용하도록 설정하지 않은 경우 다음을 입력하여 수행 할 수 있습니다.

sudo yum install epel-release

리포지토리가 추가되면 다음을 사용하여 CentOS에 Xfce를 설치하십시오.

sudo yum groupinstall xfce

시스템에 따라 Xfce 패키지 및 종속성을 다운로드하여 설치하는 데 시간이 걸릴 수 있습니다.

VNC 서버 설치

우리는 선택한 VNC 서버로 TigerVNC를 사용할 것입니다. TigerVNC는 적극적으로 유지 관리되는 고성능 오픈 소스 VNC 서버입니다.

CentOS 서버에 TigerVNC를 설치하려면 다음 명령을 입력하십시오.

yum install tigervnc-server

이제 VNC 서버가 설치 vncserver 다음 단계는 초기 구성을 작성하고 비밀번호를 설정하는 vncserver 명령을 실행하는 것입니다. 다음 명령을 실행할 때 sudo를 사용하지 마십시오.

vncserver

암호를 입력하고 확인하라는 메시지와보기 전용 암호로 설정할지 묻는 메시지가 표시됩니다. 보기 전용 암호를 설정하면 사용자는 마우스 및 키보드를 사용하여 VNC 인스턴스와 상호 작용할 수 없습니다.

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

vncserver 명령이 처음 실행될 때 ~/.vnc 디렉토리에 비밀번호 파일을 작성하여 저장합니다 (없는 경우 작성 됨).

위 출력에서 ​​호스트 이름 뒤에 :1 을 기록하십시오. 이는 vnc 서버가 실행중인 디스플레이 포트 번호를 나타냅니다. 이 경우 서버는 TCP 포트 5901 (5900 + 1)에서 실행 중입니다. vncserver 로 두 번째 인스턴스를 생성하면 다음 사용 가능한 포트에서 실행됩니다. 즉 :2 는 서버가 포트 5902 (5900 + 2)에서 실행되고 있음을 의미합니다.

기억해야 할 것은 VNC 서버를 사용할 때 :X 5900+X 를 나타내는 디스플레이 포트입니다.

다음 단계를 계속하기 전에 먼저 -kill 옵션과 함께 서버 번호와 인수로 vncserver 명령을 사용하여 VNC 인스턴스를 중지하십시오. 이 경우 서버는 포트 5901 ( :1 )에서 실행 중이므로 다음과 같이 중지합니다.

vncserver -kill:1

Killing Xvnc process ID 2432

VNC 서버 구성

Xfce와 TigerVNC가 CentOS 서버에 설치되었으므로 다음 단계는 Xfce를 사용하도록 TigerVNC를 구성하는 것입니다. 이렇게하려면 다음 파일을여십시오.

nano ~/.vnc/xstartup

마지막 행을 exec /etc/X11/xinit/xinitrc 에서 exec startxfce4 .

~ /.vnc / xstartup

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

파일을 저장하고 닫습니다. TigerVNC 서버를 시작하거나 다시 시작할 때마다 위의 스크립트가 자동으로 실행됩니다.

예를 들면 다음과 같습니다.

~ /.vnc / config

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

시스템 단위 파일 작성

필요에 따라 다른 시스템 서비스와 마찬가지로 VNC 서비스를 쉽게 시작, 중지 및 다시 시작할 수있는 시스템 단위 파일을 만듭니다.

cp 명령을 사용하여 vncserver 장치 파일을 복사하십시오.

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

텍스트 편집기로 파일을 열고 교체하십시오 실제 사용자 이름으로.

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

파일을 저장하고 닫습니다. systemd에게 다음을 사용하여 새 단위 파일을 만들었습니다.

sudo systemctl daemon-reload

다음 단계는 다음 명령으로 장치 파일을 활성화하는 것입니다.

sudo systemctl enable vncserver@:1.service

@ 기호 뒤의 숫자 1 은 VNC 서비스가 실행될 디스플레이 포트를 정의하며, 이 경우 기본 포트이며 VNC 서버는 이전 섹션에서 설명한대로 포트 5901 수신 대기합니다.

다음을 실행하여 VNC 서비스를 시작하십시오.

sudo systemctl start vncserver@:1.service

서비스가 다음으로 성공적으로 시작되었는지 확인하십시오.

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…

VNC 서버에 연결

VNC는 암호화 된 프로토콜이 아니며 패킷 스니핑을받을 수 있습니다. 권장되는 방법은 포트 5901의 로컬 시스템에서 동일한 포트의 서버로 트래픽을 안전하게 전달하는 SSH 터널을 만드는 것입니다.

Linux 및 macOS에서 SSH 터널링 설정

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

사용자 비밀번호를 입력하라는 메시지가 표시됩니다.

username server_ip_address 를 사용자 이름 및 서버의 IP 주소로 바꾸는 것을 잊지 마십시오.

Windows에서 SSH 터널링 설정

퍼티를 열고 Host name or IP address 필드에 서버 IP 주소를 입력하십시오.

이제 키보드와 마우스를 사용하여 로컬 컴퓨터에서 원격 XFCE 데스크톱과 상호 작용할 수 있습니다.

결론

이제 VNC 서버가 작동하고 그래픽 인터페이스를 사용하여 CentOS 7 서버를 쉽게 관리 할 수 ​​있습니다.

둘 이상의 사용자에 대한 디스플레이를 시작하도록 VNC 서버를 구성하려면 초기 구성을 작성하고 vncserver 명령을 사용하여 비밀번호를 설정하고 다른 포트를 사용하여 새 서비스 파일을 작성하십시오.

궁금한 점이 있으면 언제든지 의견을 남겨주십시오.

센 토스 VNC