2008. 7. 15.

리눅스/SSH 터널링을 이용한 X 응용프로그램 수행하기

cygwin을 이용하여 원격리눅스머신에 있는 Xwindow응용프로그램을 실행할 수 있다.

그림을 그려서 설명하면 간단한데, 그림에 너무 서툴러서 글로 표현한다.

리눅스가 탑재되어 있는 원격 머신을 A라 하자.

원도우OS가 탑재되어 있는 로컬 머신을 B라 하자.

B머신에 A의 Xwindow응용프로램을 수행하는 것이 목표이다.

첫번째 전제사항으로써 A머신/B머신 모두 Xwindow가 설치되어 있어야 한다.(B는 Cygwin의 Xwindow)

두번째 전제사항으로 A머신/B머신 모두 SSH어플리케이션이 설치되어 있어야 한다.

A머신은 SSH서버가 되도록 설정해야만 하며, B머신은 SSH클라이언트가 되도록 설정한다. /etc/ssh 디렉토리에 보면 ssh_config 및 sshd_config 파일이 있는데 A머신의 경우는 sshd_config의 X11Forwarding yes 의 주석을 해제한다. B머신은 ssh_config를 수정한다. ForwardX11 yes 에 붙어있는 주석을 해제한다.

준비는 모두 끝났다.

이제 Xwindow를 띄우기 위해 명령을 수행한다.

1. B머신에서 Xwindow 터미널을 구동한다.

2. ssh를 이용하여 A머신에 접속한다. 이 때 Y옵션을 반드시 주어야 한다.
ssh -Y 유저id@A머신의ip

3. B머신의 Xwindow어플리케이션이 존재하는 디렉토리로 이동하여 프로그램을 실행해본다. 보통 xeyes나 xclock를 실행하여 테스트한다.

* B머신은 ssh에 대해선 클라이언트이지만 Xwindow는 서버로 동작한다.

* 역으로 A머신은 ssh는 서버이지만 Xwindow는 클라이언트 개념이다.

* ssh가 설정되어 있는 리눅스 머신에서는 이와 같은 간단한 방법으로 원격 X머신의 응용프로그램을 실행할 수 있다.

댓글 1개:

익명 :

와^^ 감사요, 이거 바로 지금 제가 찾고 있던 글이었습니다//
잘 보고 갑니다 ㅋㅋ