'포워딩'에 해당되는 글 1건

  1. 2010.03.02 ssh 를 이용하여 vnc 접속하기
- 컴퓨터/redhat2010. 3. 2. 17:38

저의 운영체제는 centos 5.3  입니다.

1. 간단한 vnc 서버 설치 설명

설치는
$ yum install vnc
$ yum install vnc-server
로 하였습니다.

설정은
/etc/sysconfig/vncservers


VNCSERVERS="1:root"
VNCSERVERARGS[1]="-geometry 1440x900 -nohttpd"
를 추가해 줬습니다.

( 어느 문서를 보니 ~/.vnc/xstartup
이 파일의
# unset SESSION_MANAGER
# exec /etc/X11/xinit/xinitrc
이 부분에 주석을 넣어 줘야 한다고 하네요..
하지만, 저의 버전은 처음부터 주석이 붙어 있었습니다.)

추가후
vncserver
를 하니 /root/.vnc 가 생기면서
필요한 파일들이 생기고 서버가 실행 되었습니다.
그리고 비번은 

$ vncpasswd ~/.vnc/passwd

를 해서 변경할 수 있습니다.

vnc 서버의 실행과 정지는

$ service vncserver start
$ service vncserver stop

혹은

$ /etc/rc.d/init.d/vncserver start
$ /etc/rc.d/init.d/vncserver stop

로도 할 수 있습니다.

이때 서버에 xorg 가 설치 되어 있어야 합니다.

vnc 에 사용할 윈도우관리자는 임의로 변경이 가능합니다.

$ vi ~/.vnc/xstartup
로 열어보면 마지막 줄에

twm &

가 기본으로 설정되어 있습니다.
이부분을

startkde &

로 바꿔줄수 도 있습니다.

기타 다른 설정으로 바꿔줄수도 있고요...

( * xorg 와 kde 설치 부분
redhat 에서 yum 으로 kde 설치명령어
 !! $yum install xorg-x11*
를 하면 설치 되는 목록이 많은데요, 터미널로만 접속한다면 다 필요할지 모르겠습니다.
$yum install xorg-x11-font*
저는 이것만 해줬습니다.

그리고  이부분을 해서 kde를 설치 합니다.
$yum install kdebase
$yum install 'kde-i18n-Korean' 'fonts-korean'

http://perso.netplus.ch/FCorthay/InstallGentoo/Shortforms/gentoo-kde-2.6.html
의 kde 부분
http://sshinb.tistory.com/29?srchid=BR1http%3A%2F%2Fsshinb.tistory.com%2F29
그리고 여기를  참조함
)



2. 간단한 vnc 서버 접속 설명

이때 우선은 vnc viewer 와 서버의 버전이나 암호와 지원 등의 설정이 맞아야 합니다.
따라서,
우선은 포워딩 없이 접속을 시도해 보시기 바랍니다.

저의 컴퓨터(centos 5.3)에 깔린 vnc-server 의 경우 암호화가 지원이 되지 않는 버전입니다.

realvnc 의 유료 버전이나 tightvnc 의 경우 암호화가 지원이 됩니다.
redhat 에서 지원되는 tigervnc 도 tightvnc 에서 분가?를 한 버전이기 때문에
최신버전에서는 암호화 서버가 지원이 될것입니다.

암호화를 위해서는
/etc/sysconfig/vncservers
이 파일에서

VNCSERVERS="1:root"
VNCSERVERARGS[1]="-geometry 1440x900 -nohttpd -localhost"

-localhost 부분을 추가해 주면 됩니다.

접속할때 접속 주소는
서버주소::59xx
입니다.
여기서 xx는 /etc/sysconfig/vncservers 문서의 "1:root" 의 번호 1 에 의해서 결정되며
저는 1 이므로 xx 는 01 이 되고
저는 5901 을 사용합니다.
즉 이 번호는 5901 부터 시작되는데 이는 vnc에서 내 계정에 접속할 포트 번호가 됩니다.
또한 1은 display 번호 이기도 합니다.
이 번호를 확인 하는 다른 방법은

~/.vnc/호스트이름:1.pid
파일을 통해서도 알 수 있습니다.
(저의 경우는 호스트 이름 부분이 계정 아이디로 나오네요..)

포워딩을 사용하지 않은 접속이 된다면
이제 다음으로 넘어 갑시다.^^


3. ssh 포워딩을 이용한 vnc 접속

원문은
http://hackersnews.org/hn/read.cgi?board=hn_linux&y_number=821&nnew=2
이며 약간의 내용을 붙여서 설명을 하겠습니다.

1. putty 0.53b 버전 이상부터 가능합니다. openssh home에서 구할 수 있습니다.

2. putty를 실행하면 왼쪽 Category 판넬에 Connection -> SSH -> Tunnels 를
선택하세요.

3. 오른쪽 판넬에서 Add new forwarded port의 source port에 5900 을 적습니다.
Destination 에 your.host.com:59xx 를 적습니다.
59xx 의 xx는 사용할 디스플레이 번호입니다.
예를 들어 vncserver를 실행해서 8번 디스플레이가 할당되었다면 5908이 됩니다.
(현재 자신이 사용하는 디스플레이 번호는 홈디렉토리 .vnc/ 밑에서 확인할 수
있습니다. your.host.com:8.pid 란 파일이 있다면 8번을 사용하는 것입니다)

4. Local 과 Remote를 선택하는 곳에서 Local을 선택하시고 Add 버튼을 누르세요.

5. 왼쪽 Category 판넬에서 Session을 선택하세요.

6. 오른쪽 판넬에서 Host Name에 your.host.com을 쓰시고 Protocol 에서
SSH를 선택하세요.

7. putty를 실행할 때 마다 설정을 다시하는 불편이 없도록 Saved Sessions에
적당한 이름 (예: myvnc ssh) 을 적고 Save 버튼을 눌러주세요.
putty를 다시 시작하면 저장한 세션을 불러오기만 하면 됩니다.

8. your.host.com에 접속을 하세요. 처음 접속시에 질문 창이 뜨는데
your.host.com 접속을 허용할지 묻는 과정이니 yes를 선택하세요.

9. 8번 과정까지 실행하여 your.host.com에 접속하여 로그인한 상태로 putty 설정은
끝입니다.

10. 윈도우용 vncviewer를 실행해서 접속할 서버에 localhost로 입력하세요.
원래 your.host.com:display번호를 입력해야 하지만 이를 localhost의 0번
디스플레이로 포워딩한 것입니다.




여기서 3번 부분에서 제가 좀 막혔었습니다.
이 3번의 경우 자신의 로컬 컴퓨터에 /etc/hosts 파일에 설정이 되어 있어야 하는 주소 입니다.
(윈도우 라면 C:\WINDOWS\system32\drivers\etc 의 hosts 파일)
만약 아무설정도 되어 있지 않다면,
127.0.0.1:5901  방식으로 해주어야합니다.

즉, vnc-viewer 는 putty 에 localhost 주소로 접속을 하고
putty 는 일단 ssh 를 통해서 서버에 연결을 한후에,
vnc-viewer 에서 로컬 putty 의 localhost 로 오는 접속을
서버의 ssh 를 거쳐 5901 포트로 연결하는 것입니다.
(만약 로컬에서만 접속을 한다면)
이때 서버의 방화벽이나 게이트 웨이에서 설정한 포워딩 포트 번호와는 아무 상관이 없게 됩니다.

그리고 vncviewer 를 실행 시켜서
127.0.0.1 로 접속을 하면 됩니다.


만약 터널링 옵션에서 remote 를 설정할 경우...
나가는 포트를 방화벽이나 게이트 웨이 에서 설정한 포트 번호나 포워딩을 걸어 놓았는지
잘 체크 해보고 설정을 해야 합니다...

Posted by 스푸라이트