TigerVNC
TigerVNC
(타이거 가상 네트워크 컴퓨팅)는 당신이 다른 컴퓨터를 원격으로 제어하도록 허용하는 것을 공유하는 그래픽 데스크탑을 위한 시스템입니다.
TigerVNC`는 클라이언트-서버 네트워크에서 동작합니다: server*는 이 출력 (`vncserver
)과 *client (vncviewer
) 연결을 서버로 공유합니다.
페도라 15와 Red Hat Enterprise 리눅스 6에서와 달리, Fedora에서 |
VNC 서버
`vncserver`는 VNC (가상 네트워크 컴퓨팅) 데스크탑을 시작하는 유틸리티입니다. 이는 VNC 데스크탑에서 적절한 옵션과 함께 [application]*Xvnc를 실행하고 창 관리자를 시작합니다. `vncserver`는 사용자가 어디에서나 클라이언트 수에 의해 접근 되도록 할 수 있도록 장비에서 병렬로 분리된 세션을 실행하도록 허용합니다.
VNC 서버 구성
-
/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 구성하기를 참고하세요.
-
실제 사용자 이름과 함께 _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
-
변경을 저장합니다.
-
변경 사항을 즉시 적용하려면, 다음 명령을 실행하세요:
#
systemctl daemon-reload
-
사용자 또는 구성 파일에서 정의된 사용자를 위해 비밀번호를 설정합니다. 당신은 `root`에서 _사용자_우선으로 전환이 필요하다는 것을 참고하세요.
# su - USER $
vncpasswd
비밀번호: 확인:저장된 비밀번호는 암호화 되지 않습니다; 비밀번호 파일에 접근하고자 하는 누구도 일반-텍스트 비밀번호를 찾을 수 있습니다.
VNC 서버 시작하기로 진행.
두 명의 사용자를 위한 VNC 서버 구성하기
만약 동일한 장비에서 한명의 사용자 보다 더 많이 구성하고 한다면, 각각의 사용자를 위해 하나씩, 다른 템플릿트-유형 서비스 파일을 생성합니다.
-
두 개의 서비스 파일, 예를 들면 `vncserver-USER_1@.service`과 `vncserver-USER_2@.service`를 생성합니다. 이들 두 개의 파일은 _USER_를 올바른 사용자 이름으로 대체하세요.
-
두 사용자 모두를 위한 비밀번호 설정:
$ 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 표시기
`vncviewer`는 공유된 그래픽 사용자 연결장치를 표시하고 서버를 제어하는 프로그램입니다.
vncviewer`를 동작하기 위해, 전체-화면 방식 안밖으로 전환하기 또는보기 종료와 같은 다양한 작업을 수행하는 항목이 포함된 팝업-메뉴가 있습니다. 상대적으로, 터미널을 통해서도 'vncviewer’를 동작 할 수 있습니다. 명령줄에서 [command]#vncviewer -h#를 입력하여 `vncviewer
의 매개변수를 나열합니다.
VNC 서버 연결하기
VNC 서버가 한번 구성되면, 당신은 VNC 표시기에서 이를 연결 할 수 있습니다. 그렇게 하기 위해서, 다음 형식에서 vncviewer 명령을 제기합니다:
vncviewer 주소:포트_번호
여기서_주소_는 ip
또는 호스트 이름입니다.
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
설정과 연관된 다음 정보를 봅니다:$ firewall-cmd --list-all
-
지정된 주소에서 모든 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 보안 안내를 참고하세요.
-
위의 설정을 확인하려면, 다음과 같은 명령을 사용하세요:
# 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
부하를 위해 개방됩니다.
-
public 보안 설정에서 `TCP`부하를 위해 포트를 개방하려면, 다음과 같이 `root`으로 명령을 실행합니다:
# firewall-cmd --zone=public --add-port=5904/tcp 성공
-
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
-
`SSH`를 사용하여 VNC 서버에 연결하려면, 다음과 같은 명령을 입력하세요:
$ vncviewer -via USER_2@192.168.2.101:3
-
당신이 입력창에서 있을 때에, 비밀번호를 입력하고 Enter를 눌러서 확인합니다.
-
원격 데스크탑의 창이 자신의 화면에 나타납니다.
만약 당신이 암호화된 연결만을 선호하면, 당신은 다음 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 비밀번호 설명서 부분.
Want to help? Learn how to contribute to Fedora Docs ›