2009년 9월 28일 월요일

vncserver 리눅스에 설정하기 보안터널(ssh)을 이용해서 사용

아래 내용 참조
vncserver 설정하기

1. VNC server 구축하기
vnc-server.rpm
vnc.rpm
설치

vnc설정 파일
/etc/sysconfig/vncservers

VNCSERVERS="1:root"
VNCSERVERS[1]="-geometry 800x600"

참고로 보안설정이 있는경우 포트가 열리지 않는다. 따라서 포트를 정확히 알아야하는데.
VNCSERVERS="1:root" 는 포트 번호가 기본적으로 5901번부터 포트가 할당된다.
만일 VNCSERVERS="2:root" 라면 당연히 연결포트는 5902번이 되겠다.

***********만일 보안터널을 이용하려면 이부분을 고쳐준다.**********
VNCSERVERS="1:root"
VNCSERVERS[1]="-geometry 800x600 -nolisten -nohttpd -localhost"
이렇게 해서 로컬이외의 상황에서 vnc로 접근을 하지 않도록 막는다.


설정파일 내용
위의 1:root 부분에서 1은 디스플레이 번호를 의미하며 root는 계정명을 나타낸다.
VNCSERVERS[1]="-geometry 800x600"은 1번 디스플레이 번호에 대한 해상도를 설정하는 것이다. 사용자가 많아서 디스플레이 번호가 2, 3, 4식으로 증가하면 ‘[‘와 ‘]‘사이의 숫자를 변경하여 설정하면 된다.

처음에 vnc서버를 시작하면 서버가 작동이 안되는데 그 이유는 vnc서버 사용자 root가 암호를 필요로 하기 때문이다.

암호를 만들기 위해서 다음의 과정을 따라하자
#cd ~
#mkdir .vnc
#cd .vnc
#vncpasswd ‘패스워드입력’

이제 다시 vnc서비스를 재시작하자
그러면 /root/.vnc 디렉토리 밑에 xstartup파일이 생성될 것이다

[tip1] 이제 밑의 vnc 클라이언트를 이용하여 vnc서버에 접속을 하면은 xwindow를 사용하여 자신만의 윈도우 매니저를 사용한다면 해당하는 윈도우 매니저가 안나오고 기본적인 twm이 시작할 것이다. 자신이 사용하고자 하는 윈도우 매니저가 나타나기를 원할 경우에는 $HOME/.vnc/xstartup 파일에서
#unset SESSION_MANAGER
#exec /etc/X11/xinit/xinitrc
부분의 ‘#’을 지워서 주석을 제거해준다.

[tip2] 루트는 vnc사용자에게 사용할 수 있도록 /etc/sysconfig/vncserver 파일을 설정하고 사용자는 자신의 홈디렉토리에 .vnc디렉토리를 만들고 vncpasswd 명령으로 passwd파일을 만들어야 한다.

ex) /etc/sysconfig/vncserver
VNCSERVERS="1:root 2:test 3:test2"
VNCSERVERS[1]="-geometry 800x600"
VNCSERVERS[2]="-geometry 800x600"
VNCSERVERS[3]="-geometry 800x600"

ex)일반 사용자들의 홈디렉토리에서 패스워드 설정하는 방법
$cd ~
$mkdir .vnc
$cd .vnc
$vncpasswd
Password: 패스워드 입력(6자 이상)
Verify: 패스워드 입력 확인

위의 과정에서 $HOME/.vnc 디렉토리에 passwd파일이 만들어진다.
$ls $HOME/.vnc/
passwd

2. VNC 클라이언트 사용하기
#vncviewer ip-address:디스플레이번호

************************ 만일 보안 터널을 이용해서 접근하려면 ***************
ssh -f -L 내컴에서사용할포트번호임의번호:127.0.0.1:서버에설정된서비스포트번호 ID@server_name -p ssh_port sleep 10; vncviewer 127.0.0.1:내컴에서 사용할포트번호앞에쓴거:디스플레이번호

ssh -f -L 25901:127.0.0.1:5901 ID@server_name -p ssh_port sleep 10; vncviewer 127.0.0.1:25901:1

윈도우용 vnc서버, 클라이언트는 www.tightvnc.com에 가면 다운로드 메뉴에서 찾을 수 있다.


윈도우 explorer에서 vncserver에 접속하는 방법
http://ip-address:5800+display-number
ex)http://191.111.1.1:5801 <-1번 디스플레이번호를 쓰는 루트의 접속



윈도우에서 ssh 터미널을 이용한 vnc 원격데스크탑을 사용하기 위해서 필요한 클라이언트 설정

1. putty 프로그램을 가져와 설치한다.

http://kldp.net/projects/iputty/

2. putty의 환경설정

1) [접속][SSH][X11]
x디스플레이 위치 서버에서 설정한 디스플레이번호 번호입력 (예;1)
2) [접속][SSH][터미널]
원 포트 : 원래 원격터미널에 사용할 서버의 포트를 입력한다. 일반적으로 디스플레이 번호가 1이면 5901번이 된다.
대상 : 내부아이피에 내부 할당할 내부 포트 예제처럼하면 된다.

3) [세션]
세션에 연결할 서버의 아이피와 포트번호를 입력한다. 이것은 ssh서버의 주소와 아이피 되겠다.

3. vnc 뷰어를 다운받아 설치한다.

http://www.realvnc.com/products/download.html

4. vnc 뷰어를 실행시킨다.
그리고 내부아이피와 포트번호로 접속한다.
이때 아이피와 포트는 2-3에서 설정한 대상아이피와 포트번호이다.


댓글 없음:

댓글 쓰기