Documentation for a newer release is available. View Latest

TigerVNC

TigerVNC(타이거 가상 네트워크 컴퓨팅)는 당신이 다른 컴퓨터를 원격으로 제어하도록 허용하는 것을 공유하는 그래픽 데스크탑을 위한 시스템입니다.

TigerVNC`는 클라이언트-서버 네트워크에서 동작합니다: server*는 이 출력 (`vncserver)과 *client (vncviewer) 연결을 서버로 공유합니다.

페도라 15와 Red Hat Enterprise 리눅스 6에서와 달리, Fedora에서 TigerVNC`는 이와 같은 구성을 위해 `systemd 시스템 관리 데몬을 사용합니다. /etc/sysconfig/vncserver 구성 파일은 `/etc/systemd/system/vncserver@.service`로 대체되었습니다.

VNC 서버

`vncserver`는 VNC (가상 네트워크 컴퓨팅) 데스크탑을 시작하는 유틸리티입니다. 이는 VNC 데스크탑에서 적절한 옵션과 함께 [application]*Xvnc를 실행하고 창 관리자를 시작합니다. `vncserver`는 사용자가 어디에서나 클라이언트 수에 의해 접근 되도록 할 수 있도록 장비에서 병렬로 분리된 세션을 실행하도록 허용합니다.

VNC 서버 설치하기

TigerVNC 서버를 설치 할 때에, `root`로 다음 명령을 실행합니다:

# dnf install tigervnc-server

VNC 서버 구성

처음 VNC 연결 구성하기
  1. /etc/systemd/system/vncserver@.service`로 불리는 구성 파일이 필요합니다. 이와 같은 파일을 생성하려면, `root`으로 `/lib/systemd/system/vncserver@.service 파일을 복사합니다:

    # cp /lib/systemd/system/vncserver@.service /etc/systemd/system/vncserver@.service

    파일 이름에 표시 번호가 포함될 필요가 없으며, 왜냐하면 `systemd`는 자동으로 요청 시에 메모리에 적절한 이름의 인스턴스를 생성하고, 서비스 파일의 ’%i'`를 표시 번호에 의해 대체하기 때문입니다. 단일 사용자의 위해서 파일 이름을 변경 할 필요가 없습니다. 다중 사용자의 경우, 예를 들면 어떤 방식에서 사용자 이름을 파일 이름으로 추가하여 각 사용자를 위해 고유한 named 서비스 파일이 필요합니다.자세히 알기 위해 두 명의 사용자를 위해 VNC 구성하기를 참고하세요.

  2. 실제 사용자 이름과 함께 _USER_를 교체하는`/etc/systemd/system/vncserver@.service`를 편집합니다. 파일의 잔여 줄은 수정하지 않은 상태로 놔둡니다. -geometry 인수는 생성되도록 하는 VNC 데스크탑의 크기를 지정합니다; 기본값으로, 이는 `1024x768`로 설정합니다.

    ExecStart=/sbin/runuser -l USER -c "/usr/bin/vncserver %i -geometry 1280x1024"
    PIDFile=/home/USER/.vnc/%H%i.pid
  3. 변경을 저장합니다.

  4. 변경 사항을 즉시 적용하려면, 다음 명령을 실행하세요:

    # systemctl daemon-reload
  5. 사용자 또는 구성 파일에서 정의된 사용자를 위해 비밀번호를 설정합니다. 당신은 `root`에서 _사용자_우선으로 전환이 필요하다는 것을 참고하세요.

    # su - USER
    $ vncpasswd
    비밀번호:
    확인:

    저장된 비밀번호는 암호화 되지 않습니다; 비밀번호 파일에 접근하고자 하는 누구도 일반-텍스트 비밀번호를 찾을 수 있습니다.

두 명의 사용자를 위한 VNC 서버 구성하기

만약 동일한 장비에서 한명의 사용자 보다 더 많이 구성하고 한다면, 각각의 사용자를 위해 하나씩, 다른 템플릿트-유형 서비스 파일을 생성합니다.

  1. 두 개의 서비스 파일, 예를 들면 `vncserver-USER_1@.service`과 `vncserver-USER_2@.service`를 생성합니다. 이들 두 개의 파일은 _USER_를 올바른 사용자 이름으로 대체하세요.

  2. 두 사용자 모두를 위한 비밀번호 설정:

    $ su - USER_1
    $ vncpasswd
    비밀번호:
    확인:
    $ su - USER_2
    $ vncpasswd
    비밀번호:
    확인:

VNC 서버 시작하기

서비스를 시작하거나 활성화 하려면, 명령에서 직접 표시 번호를 지정하세요. 위에 구성된 우선 VNC 연결 구성하기 파일은 `%i`가 `systemd`에 의해 표시 번호로 대체되는 템플릿트로 동작합니다. 유효한 표시 번호와 함께, 다음 명령을 실행합니다:

# systemctl start vncserver@:display_number.service

당신은 또한 시스템 시작시에 자동으로 시작하려는 서비스를 활성화 할 수 있습니다. 그런 후, 로그인 할 때에 `vncserver`는 자동으로 시작됩니다. `root`으로, 다음과 같은 명령어를 입력하세요:

# systemctl enable vncserver@:display_number.service

이 점에서, 다른 사용자는 VNC 표시기 프로그램을 정의된 표시번호와 비밀번호를 사용하여 VNC 서버로 연결하는데 사용 할 수 있습니다. 제공된 그래픽 데스크탑이 설치되었고, 데스크탑의 예가 표시됩니다. 대상 장비에서 현재 표시되는 것과 같은 동일한 경우는 아닙니다.

두 명의 사용자와 두 개의 다른 화면을 위한 VNC 서버 구성하기

두 개로 구성된 VNC 서버를 위해, , vncserver-USER_1@.service 및 vncserver-USER_2@.service, 당신은 다른 화면 번호를 사용 할 수 있습니다. 예제로, 다음 명령은 화면 3에서 시작하려는 _USER_1을 위한 VNC 서버, 그리고 화면 5에서 시작하는 USER_2를 위한 VNC 서버를 발생합니다:

# systemctl start vncserver-USER_1@:3.service
# systemctl start vncserver-USER_2@:5.service

VNC 세션 종료

vncserver 서비스를 활성화와 유사하게, 시스템 시작에서 서비스의 자동 시작을 비활성화 할 수 있습니다:

# systemctl disable vncserver@:display_number.service

또는, 시스템이 동작 중일 때에, 당신은 `root`으로 다음 명령을 제기하여 서비스를 멈출 수 있습니다:

# systemctl stop vncserver@:display_number.service

VNC 표시기

`vncviewer`는 공유된 그래픽 사용자 연결장치를 표시하고 서버를 제어하는 프로그램입니다.

vncviewer`를 동작하기 위해, 전체-화면 방식 안밖으로 전환하기 또는보기 종료와 같은 다양한 작업을 수행하는 항목이 포함된 팝업-메뉴가 있습니다. 상대적으로, 터미널을 통해서도 'vncviewer’를 동작 할 수 있습니다. 명령줄에서 [command]#vncviewer -h#를 입력하여 `vncviewer의 매개변수를 나열합니다.

VNC 표시기 설치하기

TigerVNC, vncviewer>를 설치하려면, `root`으로 다음 명령을 실행합니다:

# dnf install tigervnc

VNC 서버 연결하기

VNC 서버가 한번 구성되면, 당신은 VNC 표시기에서 이를 연결 할 수 있습니다. 그렇게 하기 위해서, 다음 형식에서 vncviewer 명령을 제기합니다:

vncviewer 주소:포트_번호

여기서_주소_는 ip 또는 호스트 이름입니다.

Example 1. VNC 서버에 연결하는 하나의 클라이언트

IP 주소 `192.168.0.4`과 표시 번호 3 명령과 함께 다음과 같이 표시됩니다:

$ vncviewer 192.168.0.4:3

VNC를 위한 방화벽 구성하기

비-암호화된 연결을 사용 할 때에, firewalld 는 연결을 막을 수 있습니다. 'firewalld’가 VNC 패킷을 전달 하도록 허용하려면, 당신은 'TCP' 부하에 대해 지정된 포트를 열 수 있습니다. -via 옵션을 사용 할 때에, 부하는 `firewalld`에서 기본적으로 활성화된 `SSH`를 통해서 재지정됩니다.

VNC 서버의 기본 포트는 5900입니다. 원격 데스크탑이 접근 할 수 있도록 포트에 도달하려면, 기본 포트와 사용자가 할당된 표시 번호를 더합니다. 예를 들면, 두번째 포트: 2 + 5900 = 5902.

화면 0`에서 `3`으로 경우, 아래 설명된 대로 [option]`service 옵션에 의해 VNC 서비스를 위한 firewalld의 지원을 사용합니다. '3’보다 큰 표시 번호의 경우, 해당 포트는 특히 외부 방화벽에서 포트 열기에 설명된 대로 열려야 합니다.

firewalld에서 VNC 서비스 활성화하기
  1. 다음 명령을 실행하여 firewalld 설정과 연관된 다음 정보를 봅니다:

    $ firewall-cmd --list-all
  2. 지정된 주소에서 모든 VNC 연결을 허용하려면, 다음과 같이 명령을 사용하세요:

    # firewall-cmd --add-rich-rule='rule family="ipv4" source address="192.168.122.116" service name=vnc-server accept'
    성공

    방화벽 rich 언어 명령을 위한 사용에서 더 많은 정보를 위해 Red Hat Enterprise 리눅스 7 보안 안내를 참고하세요.

  3. 위의 설정을 확인하려면, 다음과 같은 명령을 사용하세요:

    # firewall-cmd --list-all
    public (default, active)
      interfaces: bond0 bond0.192
      sources:
      services: dhcpv6-client ssh
      ports:
      masquerade: no
      forward-ports:
      icmp-blocks:
      rich rules:
    	rule family="ipv4" source address="192.168.122.116" service name="vnc-server" accept

지정된 포트 또는 포트 범위를 개방하려면 firewall-cmd 명령 행 도구로 --add-port 옵션을 사용합니다. 예제로, VNC 화면 4`는 `TCP 포트`5904`가 필요하고 TCP 부하를 위해 개방됩니다.

firewalld에서 포트 열기
  1. public 보안 설정에서 `TCP`부하를 위해 포트를 개방하려면, 다음과 같이 `root`으로 명령을 실행합니다:

    # firewall-cmd --zone=public --add-port=5904/tcp
    성공
  2. public 영역을 위해 현재 개방한 포트를 보려면, 다음과 같이 명령을 입력하세요:

    # firewall-cmd --zone=public --list-ports
    5904/tcp

포트는 firewall-cmd --zone=zone --remove-port=number/protocol 명령을 사용하여 제거 될 수 있습니다.

`firewalld`에서 열고 닫는 포트에서 더 많은 정보를 위해, Red Hat Enterprise 리눅스 7 보안 안내를 참고하세요.

SSH를 사용하여 VNC 서버로 연결하기

*VNC*는 명확하게 통신에서 가능한 공격에 대응하는 보안이 없는 텍스트 네트워크 통신규약입니다. 통신 보안을 만들고자 하려면, 당신은 -via 옵션 사용에 의해 자신의 서버-클라이언트를 암호화 할 수 있습니다. 이는 VNC 서버와 클라이언트 사이에서 SSH 터널을 생성합니다.

VNC 서버-클라이언트 연결을 암호화하는 명령의 형식은 다음과 같습니다:

$ vncviewer -via user@host:display_number
Example 2. -via 옵션 사용하기
  1. `SSH`를 사용하여 VNC 서버에 연결하려면, 다음과 같은 명령을 입력하세요:

    $ vncviewer -via USER_2@192.168.2.101:3
  2. 당신이 입력창에서 있을 때에, 비밀번호를 입력하고 Enter를 눌러서 확인합니다.

  3. 원격 데스크탑의 창이 자신의 화면에 나타납니다.

VNC 접근 제한하기

만약 당신이 암호화된 연결만을 선호하면, 당신은 다음 ExecStart` 행인 systemd.service` 파일에서 -localhost 옵션 사용에 의해 함께 비-암호화된 연결을 막을 수 있습니다:

ExecStart=/sbin/runuser -l user -c "/usr/bin/vncserver -localhost %i"

이는 -via 옵션의 결과로 `SSH`를 사용하여 보낸 로컬 호스트와 포트-전달된 연결 이외의 모든 접근 연결에서 `vncserver`를 멈춥니다.

`SSH`를 사용하는데 더 자세한 정보를 위해, OpenSSH를 참고하세요.

추가 자원

TigerVNC에 대하여 더 자세한 정보를 위하여, 아래 나열된 자원을 참조하세요.

설치된 문서
  • vncserver(1)VNC 서버 설명서 부분.

  • vncviewer(1)VNC 표시기 설명서 부분.

  • vncpasswd(1)VNC 비밀번호 설명서 부분.