2006. 12. 5. 14:51

SSH 터널링을 통해 원격데스크탑 연결

MS의 원격데스크톱(RemoteDesktop) 기능은 무척 편리하다. 그런데, 안심하고 쓸 수 있을만큼 안전한 프로토콜을 사용하는 것은 아니다. 그러면 어떻게 소중한 우리의 비밀번호를 지키면서 원격 데스크톱을 사용할 것인가?
보안을 위해서 굳이 SSHTunneling을 사용할 필요는 없을 것이다. 원격 데스크톱도 나름대로 암호화 프로토콜을 사용하기 때문이다. 방화벽 때문에 원격 데스크톱으로 바로 접속할 수 없을 때 터널링을 이용해서 원격 데스크톱을 사용하는 일이 많은 것 같다.

작업은 다음과 같은 순서로 이루어진다.

  1. cygwin환경에sshd설치
  2. port forwarding 설정


접속하려는 원격의 컴퓨터(원격 데스크톱 서버라고 하자)에 sshd가 설치되었으면, 다 된거나 다름없다.

putty를 실행하여 접속>SSH>터널링 탭을 본다. 원 포트에 3389를 넣고, 대상에는 "원격 데스크톱 서버의 주소:3389"(예를들어 sparcs.kaist.ac.kr:3389)를 쓴 후, "추가" 단추를 누른다.

그리고 세션 탭으로 가서 원격 데스크톱 서버에 접속한다.

이제 원격 데스크톱 연결 프로그램을 실행하여 localhost로 접속하면 된다.

putty가 ssh 연결을 이용해서 안전한 터널을 만들어주고, 원격 데스크톱은 그 터널을 통해서 통신하는 것이다.


Windows XP는 일반적으로 localhost에 대한 원격 데스크톱 접속을 막는다. 이 경우, SSH 터널링 설정을 할 때, 127.0.0.2의 임의의 포트 번호를 listen하도록 하고, 원격 데스크톱 연결 프로그램에서 127.0.0.2로 접속하면 된다.

즉, putty에서 원 포트127.0.0.2:12345를 넣고, 대상에는 sparcs.kaist.ac.kr:3389를 넣고 추가 단추를 누른 후, sparcs.kaist.ac.kr에 접속한다. 그리고 원격 데스크톱 연결 프로그램으로 127.0.0.2:12345에 접속하면 된다.