넵...  리눅스 데스크탑을 쓰다 보니 언제나 항상.... ssh를 씁니다.

개발툴이 vi 니까요.


원격지에 있는 고객이 크나큰 어려움에 쳐했습니다.

원격지 서버에 접속을 해야 하는데 헉...  회사에 방화벽이기 있습니다.

상대방의 머신은 리눅스 머신이지만 접속할 방법이 없습니다.


이럴때 저는 고객의 동의를 얻어 우회로를 통해 ssh로 고객의 머신에

접속하는 방법을 소개해 드리겠습니다.


기본적인 아이디어는 아래의 그림입니다.

 


figure4.gif


고객의 머신에서 중계서버로 ssh 를 접속합니다.

이때 옵션을 주어 특정 포트로 들어오는 데이타를 나의 머신으로 들어오게 합니다.

이것이 ssh 터널 설정입니다.


나는 중계서버로 접속해서 정해진 포트로 ssh 터널로 들어갑니다.


이제 고객의 머신으로 로긴이 가능합니다.


방화벽은 뚫을수 없지만 고객이 만들어놓은 중계서버의 터널을 통해

고객의 머신으로 접속을 하는 것입니다.



순서를 한번 볼까요?

중계서버를 blackbox.example.com  라고 합니다.


1. 고객에게 중계서버로 접속을 시킵니다.

    ssh -R 2222:localhost:22 thedude@blackbox.example.com

2. 내가 중계서버로 접속합니다.

    ~# ssh thedude@blackbox.example.com

3. 이제 고객이 만들어 놓은 터널로 들어갑니다.

    thedude@blackbox:~$: ssh -p 2222 root@localhost

    이렇게 고객의 머신으로 들어갈때 고객 머신의 root 암호가 필요합니다.


이제 고객의 머신에 접속을 하게 되었고 고객과 함께 지난 시간에 소개한

screen 공유로 함께 문제를 해결해 나갈수 있습니다.



쉽죠 잉?



       


출처 : http://www.ibm.com/developerworks/kr/library/l-10sysadtips/