VNC Server에 대해 먼저 알아보자.

Virtual Network Computing의 약자로, 원격으로 다른 컴퓨터를 제어하는 그래픽 데스크톱 공유 시스템이다. 사용자의 마우스/키보드 움직임을 VNC 서버로 전송, 바뀌는 화면을 수신한다.

 

처음 QEMU 서버를 열어 ubuntu 이미지에 마운트하면 해당 QEMU 서버 내에서 우분투 설치를 진행해야 하는데, 이 경우 VNC Viewer라는 VNC 프로그램을 이용하여 설치를 진행해 줘야 한다. 우분투 설치는 GUI 환경에서 진행되기에 현재 우리가 사용하는 터미널에서는 (내가 아는 한) 접근할 수 있는 방법이 없다.

그런데 현재 우리는 학교의 Linux 서버를 ssh 접속하여 원격으로 사용하고 있기 때문에 단순히 로컬 IP와 로컬 포트로 vnc 서버에 접속하려 하면 중간의 linux 서버 때문에 바로 연결이 안 된다. 따라서 내 로컬 컴퓨터 - 리눅스 서버 - QEMU 서버로 연결이 흘러갈 수 있도록 포트포워딩을 해 줘야 한다.

 

우선 vnc 서버를 구축한다. 이 서버는 linux 서버(중간에 위치하는 원격 서버)에 열어준다.

$vncserver -localhost -geometry 1280x800 :{vncnumber}

{vncnumber} 부분에 자신이 원하는 vnc numver를 입력한다. 나중에 포트 넘버가 5900+vncnumber로 설정된다.

이후 아래 명령어로 서버 정보를 확인하고, 해당 서버가 Local host인 127.0.0.1에만 열려 있는지 확인한다.

$netstat -an | grep LISTEN | grep {5900+vncnumber} 

 

이후 클라이언트/로컬/내 컴퓨터에서 ssh 개인 공개키를 만든다.

$ssh-keygen -t rsa

경로와 pass phrase는 엔터 두 번 쳐서 넘긴다. 그러면 현 위치에 id_rsa.pub 파일이 생기는데, 이 파일의 내용을 호스트 서버의 authorized_key에 추가한다. 이 작업은 패스워드 없이 vnc 서버에 접속할 수 있도록 하는 과정이다.

 

이후 포트포워딩을 진행해준다.

$ssh -x -fNT -L {5900+vncnumber}:127.0.0.1:{5900+vncnumber} <userId@serverIp> -p <serverPort>

userId, serverIp, serverPort는 전부 Linux 서버에 관련된 것들이다.

이렇게 하면 포트포워딩이 완료된 것이고, 이후 접속은 -fNT 옵션을 빼고 로컬 컴퓨터에서 진행하면 된다.

 

 

참고한 사이트이다.

https://www.2cpu.co.kr/network/5407?&page=4 

 

[VNC, SSH 강좌] ssh를 이용해 vnc 보안접속 하기 :: 2cpu, 지름이 시작되는 곳!

sfl 제목 내용 제목+내용 회원아이디 회원아이디(코) 이름 이름(코) stx sop and or 검색

www.2cpu.co.kr

 

 

+ Recent posts