웹사이트 검색

CentOS 및 RHEL에서 VNC 서버를 설치하고 구성하는 방법


이 가이드에서는 CentOS 7/8RHEL 9/8/7 데스크톱에서 VNC 원격 액세스를 설치하고 구성하는 방법을 설명합니다. 원격 데스크톱 컴퓨터에 액세스하려면 tigervnc-server 프로그램을 통해 에디션을 실행하세요.

VNC(가상 네트워크 컴퓨팅)는 사용자 계정이 그래픽 사용자 인터페이스에서 제공하는 리소스를 사용하여 멀리 있는 시스템에 원격으로 연결하고 제어할 수 있게 해주는 서버-클라이언트 프로토콜입니다.

VNC X 또는 Vino와 같이 런타임 데스크탑에 직접 연결하는 다른 VNC 서버와 달리 tigervnc-vncserver 각 사용자에 대해 독립 실행형 가상 데스크탑을 구성하는 다른 메커니즘을 사용합니다.

요구사항

  • 스크린샷과 함께 CentOS 8 설치
  • CentOS 7 설치 절차
  • RHEL 9를 무료로 설치하는 방법
  • RHEL 8을 무료로 설치하는 방법
  • RHEL 7 설치 절차

1단계: CentOS에 VNC 설치 및 구성

1. Tigervnc-serverXvnc 서버를 실행하고 Gnome 또는 기타 데스크톱의 병렬 세션을 시작하는 프로그램입니다. VNC 데스크톱의 환경.

시작된 VNC 사용자 세션은 여러 VNC 클라이언트에서 동일한 사용자가 액세스할 수 있습니다. CentOS/RHELTigerVNC 서버를 설치하려면 터미널 세션을 열고 루트 권한으로 다음 yum 명령을 실행하세요.

sudo yum install tigervnc-server

2. 프로그램을 설치한 후 VNC 프로그램을 실행하려는 사용자로 로그인하고 터미널에서 아래 명령을 실행하여 VNC 서버의 비밀번호입니다.

비밀번호는 6자 이상이어야 합니다.

su - your_user
vncpasswd

3. 그런 다음 systemd 디렉터리 트리에 있는 데몬 구성 파일을 통해 사용자를 위한 VNC 서비스 구성 파일을 추가합니다. VNC 템플릿 파일을 복사하려면 루트 권한으로 다음 cp 명령을 실행해야 합니다.

사용자에게 sudo 권한이 부여되지 않은 경우 루트 계정으로 직접 전환하거나 루트 권한이 있는 계정에서 명령을 실행하십시오.

cp /lib/systemd/system/[email  /etc/systemd/system/vncserver@:1.service

4. 다음 단계에서는 /etc/systemd/system/ 디렉토리에서 복사한 VNC 템플릿 구성 파일을 편집하고 아래 표시된 대로 사용자를 반영하도록 다음 값을 바꿉니다. 견본.

@ 기호 뒤의 1 값은 디스플레이 번호(포트 5900+display)를 나타냅니다. 또한 시작된 각 VNC 서버에 대해 포트 59001씩 증가합니다.

vi /etc/systemd/system/vncserver@\:1.service

vncserver@:1.service 파일에 다음 줄을 추가합니다.

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

[Service]
Type=forking
User=tecmint
Group=tecmint
WorkingDirectory=/home/tecmint
ExecStartPre=/bin/sh -c '/usr/bin/vncserver -kill %i > /dev/null 2>&1 || :'
ExecStart=/usr/bin/vncserver %i -geometry 1280x1024
PIDFile=/home/tecmint/.vnc/%H%i.pid
ExecStop=/bin/sh -c '/usr/bin/vncserver -kill %i > /dev/null 2>&1 || :'

[Install]
WantedBy=multi-user.target

5. VNC 서비스 파일을 적절하게 변경한 후 systemd 시스템 초기화 프로그램을 다시 로드하여 새 vnc 구성 파일을 선택하고 TigerVNC 서버를 시작합니다.

또한 VNC 서비스 상태를 확인하고 아래 명령을 실행하여 시스템 전체에서 VNC 데몬을 활성화합니다.

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

6. VNC 서버가 소유한 청취 상태에서 열린 포트를 나열하려면 네트워크 소켓을 표시하는 데 사용되는 ss 명령을 실행하십시오. VNC 서버 인스턴스를 하나만 시작했기 때문에 첫 번째 열린 포트는 5901/TCP입니다.

다시, ss 명령은 루트 권한으로 실행되어야 합니다. 여러 사용자에 대해 다른 VNC 인스턴스를 병렬로 시작하는 경우 포트 값은 두 번째의 경우 5902, 세 번째의 경우 5903 등이 됩니다. 6000+ 포트는 X 응용 프로그램이 VNC 서버에 연결되도록 허용하는 데 사용됩니다.

ss -tulpn| grep vnc

7. 외부 VNC 클라이언트가 VNC 서버에 연결하도록 허용하려면 적절한 VNC 개방 포트가 방화벽을 통과하도록 허용해야 합니다.

VNC 서버 인스턴스가 하나만 시작되는 경우 런타임에 방화벽 구성을 적용하려면 아래 명령을 실행하여 할당된 첫 번째 VNC 포트인 5901/TCP만 열면 됩니다.

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

2단계: VNC 클라이언트를 통해 CentOS 데스크탑에 연결

8. 플랫폼 독립적인 프로토콜이기 때문에 원격 그래픽 사용자 인터페이스 VNC 연결은 GUI 및 특수 VNC 클라이언트가 있는 거의 모든 운영 체제에서 수행될 수 있습니다.

Microsoft 기반 운영체제에서 사용되며 Linux TigerVNC 서버와 완벽하게 호환되는 인기 있는 VNC 클라이언트는 RealVNC VNC 뷰어입니다.

VNC 프로토콜을 통해 Microsoft OS에서 CentOS 데스크톱에 원격으로 연결하려면 VNC 뷰어 프로그램을 열고 CentOS VNC 서버의 IP 주소와 포트 번호를 추가한 다음 [enter] 키를 누르세요.

VNC 연결이 설정된 후에는 아래 스크린샷과 같이 연결이 암호화되지 않았다는 경고가 화면에 표시되어야 합니다.

9. 경고를 우회하려면 계속 버튼을 누르고 2번 지점에서 VNC 서버에 대한 비밀번호 설정을 추가하세요. 그러면 CentOS 데스크톱에 원격으로 연결되어야 합니다. VNC 서버 인스턴스를 실행하도록 구성된 사용자입니다.

10. 새로운 인증 메시지가 화면에 나타나고 사용자에게 루트 권한이 없는 경우 취소 버튼을 눌러 CentOS로 계속 진행하세요. 아래 스크린샷과 같이 데스크톱입니다.

서버와 클라이언트 간에 설정된 VNC 통신과 교환된 모든 데이터(비밀번호 제외)는 암호화되지 않은 채널을 통해 실행된다는 점에 유의하세요. VPN 데이터 전송을 암호화하고 보호하려면 먼저 보안 SSH 터널을 설정하고 SSH 터널을 통해 후속 VPN 트래픽을 실행해야 합니다.

11. 다른 CentOS 데스크톱에서 VNC 프로토콜을 통해 CentOS 데스크톱에 원격으로 연결하려면 먼저 아래 명령을 실행하여 vinagre 패키지가 시스템에 설치되어 있는지 확인하세요.

sudo yum install vinagre

12. vinagre 유틸리티를 열려면 아래 스크린샷과 같이 응용 프로그램 -> 유틸리티 -> 원격 데스크톱 뷰어로 이동하세요.

13. CentOS 데스크톱에 원격으로 연결하려면 연결 버튼을 누르고 목록에서 VNC 프로토콜을 선택한 다음 IP 주소를 추가하세요. 및 원격 VNC 서버의 포트(5900+display 번호). 또한 다음 스크린샷에 표시된 대로 VNC 사용자에 대한 비밀번호 설정을 제공합니다.

14. Linux 기반 플랫폼에서 널리 사용되는 또 다른 VNC 클라이언트는 GNOME 데스크탑 환경을 실행하는 Debian 기반 배포판에 특히 사용되는 원격 데스크탑 클라이언트인 Remmina입니다.

Debian 기반 배포판에 Remmina 원격 데스크톱 클라이언트를 설치하려면 다음 명령을 실행하세요.

sudo apt-get install remmina

3단계: CentOS에서 여러 VNC 세션 구성

15. 동일한 사용자로 새로운 병렬 VNC 세션을 실행해야 하는 경우 터미널 콘솔을 열고 새 VNC 세션을 시작하려는 사용자로 로그인한 후 아래 명령을 실행합니다.

서버를 처음 시작하면 이 세션에 대한 새 비밀번호를 제공하라는 메시지가 표시됩니다. 그러나 이 세션은 로그인한 사용자 권한으로 실행되며 시작된 시스템 VNC 서버 세션과는 독립적으로 실행됩니다.

vncserver

16. 새 VNC 세션은 다음으로 사용 가능한 VNC 기반 포트를 엽니다(이 예에서는 5900+3 표시). 열린 포트를 표시하려면 아래 발췌와 같이 루트 권한 없이 ss 명령을 실행합니다. 사용자가 시작한 시작된 VNC 세션만 나열됩니다.

ss -tlpn| grep Xvnc

17. 이제 이 새로운 VNC 세션을 사용하여 CentOS 데스크톱에 원격으로 연결하고 아래 이미지에 표시된 대로 VNC 클라이언트에 IP:포트 조합(192.168.1.23:5903)을 제공합니다.

로그인한 사용자 권한으로 시작된 VNC 서버 인스턴스를 중지하려면 루트 권한 없이 다음 명령을 실행하십시오. 이 명령은 이를 명시한 사용자만이 소유한 시작된 모든 VNC 인스턴스를 삭제합니다.

su - your_user
killall Xvnc

그게 다야! 이제 운영 체제에서 제공하는 그래픽 사용자 인터페이스를 사용하여 CentOS 시스템에 액세스하고 관리 작업을 수행할 수 있습니다.