Ubuntu Linux / Mac OS X 에서 ssh 터널링 사용하기

HYEONG HWAN, MUN/ 2월 23, 2015/ 미분류/ 0 comments

터널링이란 A와 B사이에 가상의 네트워크를 생성하고 A가 B의 내부망을 이용할 수 있게 하는 것이다.

자세한 설명은 구글에서 VPN 을 검색한 후에 알아보아라.

 

라엘이가 예전에 윈도우를 사용할 때에는 putty 라는 프로그램을 사용해서 터널링을 자주 사용했었는데,

지금은 작업환경을 MAC OS 위주로 바꾸어서 putty를 이용할 수 없어서 새로운 터널링 방법을 찾아야 했다.

 

여러 프로그램도 설치해 보고 이것저것 해본 결과 가장 안전하고 쉬운 방법이다.

모든 Linux 기반 운영체제 (Ubuntu, CentOS, MacOS 등등) 에서 가능한 명령어이다.

윈도우에서 안됨. (윈도우에서는 putty쓰세요)

기본 내장된 ssh 프로그램을 사용한다.

 

스크린샷 2015-02-23 오후 11.07.31

 

사용할 옵션 :

-p [number]  : number 포트번호로 접속한다.

-N : 원격 쉘을 실행시키지 않고 접속만 유지한다.

-L [로컬포트번호:호스트:호스트포트번호] : 로컬 포트번호로 listen 소켓을 열고 들어오는 패킷을 원격지에서 호스트:호스트포트번호로 전송한다.

 

예시 :

ssh root@test.com -p 30022  -N -L 3000:10.20.0.52:3389 -L 4000:10.20.0.53:3389

1) ssh 통신 연결을 사용

2) 포트번호는 30022

3) 접속주소는 root@test.com

4) 쉘 용도가 아니니까 -N

5) 로컬 3000번 포트를 listen 하며 , test.com 기준으로 10.20.0.52 pc의 3389에 패킷을 전송한다.

6) 로컬 4000번 포트를 listen 하며 , test.com 기준으로 10.20.0.53 pc의 3389에 패킷을 전송한다.

 

결과 :

내 PC의 3000포트 - ssh 터널링 연결 with root@test.com - 10.20.0.52 의 3389 포트.
내 PC의 4000포트 - ssh 터널링 연결 with root@test.com - 10.20.0.53 의 3389 포트.

 

원래의 목적이기도 하지만, 터널링이나 VPN을 사용하면 방화벽을 bypass 할 수 있다.

SSH 기반 통신이기 때문에 패킷이 암호화되어서 패킷 필터링도 걸리지 않는다.

 

접속 종료방법 :

Control + C

 

 

Leave a Comment

작성하신 댓글은 관리자의 수동 승인 후 게시됩니다.

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>
*
*