Linux

SSH Tunneling

alwaysu012 2009. 6. 21. 22:59
원본 보기 : http://wiki.kldp.org/wiki.php/OpenSshTunneling

Terminal Server, Remote Desktop, Dacom neturo, vnc, rsupport, ahranta 등등..
모두 원격접속하는 방법 중 하나입니다.
네트워크 보안 정책 등으로,, 직접 접근이 불가능할 경우,,
neturo,rsupport, ahranta 등 중계서버를 이용해서 원격접속을 하는 경우도 있죠..

리눅스에서는 ssh 명령어만으로 중계서버를 이용한 원격접속이 가능합니다.


Network Diagram

 Notebook (5904)  ---- Management Server (5903)
(172.30.254.2/16)      (172.30.100.1/16)
                       Cluster Network    ---- Node423 (5902)
                       (172.20.100.1/16)       (172.20.4.23/16)


위 그림에서,, Notebook에서 Node423의 vncserver 에 접속하고 싶다면??
같은 네트워크가 아니기 때문에,, Management Server에 연결한 후
Management Server에서 다시 Node423으로 연결해야 합니다.
하지만,, ssh tunneling 을 사용하면,,
Notebook에서 직접 접속이 가능합니다.

  1. Node423에서 vncserver 시작 (5902 포트)
    [node423] # vncserver :2

  2. Node423에서 Management 서버로 ssh tunneling 연결
    [node423] #
    ssh -R 5903:localhost:5902 root@172.20.100.1

  3. Notebook에서 Management 서버로 ssh tunneling 연결
    [notebook] #
    ssh -L 5904:localhost:5903 root@172.30.100.1

  4. Notebook에서 Node423으로 연결
    vnc client를 실행하고, localhost:4 주소 입력