본문 바로가기
Base/Linux(CentOS)

14. remote access (3- VNC)

by 귀멸 2022. 6. 25.

0. VNC
 - Virtual Network Computing
 - GUI 환경의 원격 접속
   > windows에서 사용하는 원격 제어와 비슷
 - 각종 운영체제에서 VNC를 제공하는 프로그램을 이용하여 VNC 사용
   >  tigervnc 프로그램으로 실습 진행

 - 정보
   패키지  : tigervnc-*
   데몬 : X
   방화벽 : port=5900+@/tcp * 5900에 session 번호를 더하여 port 번호로 사용
   설정파일 : X

1. 설치 및 파일 설정
     yum -y install tigervnc-*    :  설치
     vncserver                          :  세션 및 비밀번호 설정
     Would you like to enter a view-only password (y/n)? n
     A view-only password is not used
     xauth:  file /root/.Xauthority does not exist 
     New 'server:1 (root)' desktop is server:1                  <<   session number가 됨

vncviewer 192.168.10.128:1     :    접속 vncviewer 접속할 IP주소:session number

Can't open display:                            >> 에러 출력 (PuTTY 프로그램 내부가 CLI 환경이므로 불가)
VMware 가서 터미널로 접속 (성공)   >>  자기 자신 것에 직접가서 하려면 무슨 필요?

Client PC에 설치 후 접속 시도 했으나 아래 오류 출력 

[root@client ~]# vncviewer 192.168.10.128:1
TigerVNC Viewer 64-bit v1.8.0
Built on: 2020-11-16 16:46
Copyright (C) 1999-2017 TigerVNC Team and many others (see README.txt)
See http://www.tigervnc.org for information on TigerVNC.

Mon Jun 13 11:15:42 2022
 DecodeManager: Detected 1 CPU core(s)
 DecodeManager: Decoding data on main thread
 CConn:       unable connect to socket: 호스트로 갈 루트가 없음 (113)

......?           >>>    나중에 실습에서 해결

2. VNC 관련 명령어
  1) vncserver                : client가 접속 할 수 있도록 Session 생성
      vncserver                : 가장 빠른 번호의 session 생성
      vncserver :숫자       : 해당 번호의 session 생성
      vncserver -list          : 현재 생성된 session 확인
      vncserver -kill :숫자 : 열려있는 session 종료 

  2) vncviewer : client에서 server로 접속 할 때 사용
      vncviewer <접속할 IP>:session

* 원래 IP:port 형식으로 사용해야 하지만 vncviewer 명령어가 session 번호에 5900을 더하여
  자동으로 port 번호로 변환(5900대만 가능)

 

  3) vncpasswd : vnc 접속 암호 설정


        홈디렉토리에 .vnc 폴더가 만들어짐
-rw-r--r-- 1 root root  332  6월 13 10:54 config
-rw-r--r-- 1 root root  488  6월 13 11:20 default.tigervnc
-rw------- 1 root root    8  6월 13 10:54 passwd
-rw-r--r-- 1 root root 4683  6월 13 11:23 server:1.log
-rw-r--r-- 1 root root    5  6월 13 10:54 server:1.pid
-rwxr-xr-x 1 root root  540  6월 13 10:54 xstartup

위의 폴더에서 cat passwd
▒K▒▒!▒▒[root@server .vnc]# << 암호가 암호화되어 저장되어 있음
rm -rf passwd                          << 암호 삭제
로그인을 시도하면
No password configured for VNC Auth << 오류 출력하면 접속 불가
vncpasswd                                            << 비밀번호 설정

세션이 살아 있으면 1.pid 파일 존재
세션 kill로 종료시키면 log 파일만 남고 pid 파일은 삭제됨
cat *:1.pid 읽으면 process id 출력

cat *:1.log 읽으면 
vncext:      Listening for VNC connections on all interface(s), port 5901   << 포트번호
Connections: accepted: 192.168.10.128::55836                                      << 접속 장치
Connections: closed: 192.168.10.128::55836 (Clean disconnection)      << 정상 접속 종료

 SVncAuth:    opening password file '/root/.vnc/passwd' failed
 SConnection: AuthFailureException: No password configured for VNC Auth
 Connections: closed: 192.168.10.128::55842 

(No password configured for VNC Auth)            << 비밀번호 없어 접속 불가 log

 

3. vnc 실습

 

server: 192.168.10.128
client: 192.168.10.129
client -> server vnc 연결

* 조건 101번 세션 사용

* session이 열려있다.(사용중이다) 나오는 경우
1. 모든 session 종료
2. rm -rf /tmp/.X*
3. 재부팅

Step1. Server와 Client에 tigervnc 설치

yum -y -install tigervnc-*
yum이 실행이 안되는 경우
ps -ef | grep yum : 상태 확인
root      58767   2531  0 10:35 pts/0    00:00:00 grep --color=auto yum

Step2. Server에서 101 session 열기

 

viewserver :101
패스워드 입력
이경우에 포트 번호가 6001로 생성 된다.
cd ~.vnc  : 폴더 이동
ls  : file 목록 검색
cat *:101.log : log 파일을 읽어보면 포트 번호를 알 수 있다.


Step3. Firewall 설정

6001번 포트에 대한 firewall 예외규칙을 설정한다.
firewall-cmd --add-port=6001/tcp : 예외 설정
firewall-cmd --reload : 재시작으로 활성화
firewall-cmd --list-all : 예외 규칙 확인

Step4. Client 터미널에서 접속

vncviewer 192.168.10.128:6001 : 접속 성공
5900대까지는 session 번호        :101로 접속 가능하지만
5900대를 넘어가면서 port 번호를 넣어줘야 접속이 가능하다.

'Base > Linux(CentOS)' 카테고리의 다른 글

16 . auto mount  (0) 2022.06.27
15. FTP  (0) 2022.06.26
13. remote access (2 - ssh / scp / sftp)  (0) 2022.06.23
12. remote access (1 - telnet) + CD 마운트 + firewall(방화벽)  (0) 2022.06.21
11. 데몬 프로세스 제어  (0) 2022.06.21

댓글