[SSH] SSH 터널링으로 내부망에 접속하기
카테고리: ETC
SSH Tunneling
SSH 터널링은 다음과 같은 상황에서 사용한다.
- 방화벽 밖의 PC를 A, 방화벽 내의 PC를 B, C라고 가정한다.
- A가 B에 SSH로 접속 가능하다.
- B는 C에 접속 가능하다.
- A는 C에 접속 불가능하다.
이럴 때 A가 C의 서비스에 접속하는 방법은 B를 통해(SSH 터널링) 접속하는 방법이다.
사용 방법
SSH 터널링은 L옵션을 사용하는데, 아래와 같은 방법으로 사용한다.
ssh -L 내(A)가_사용할_포트:C의_아이피_주소:C의_서비스_포트 B의_아이피_주소 -p B의_SSH_포트 -l B의_SSH_id
- A의 아이피 주소는 192.168.0.2이고 사용할 포트는 9999라고 가정한다.
- B의 아이피 주소는 10.0.0.3이고 ssh가 열린 포트는 10002이며, ssh에서 사용하는 아이디는 root라고 가정한다.
- C의 아이피 주소는 10.0.0.4이고 C가 제공하는 서비스의 포트는 5900이다.
ssh -L 9999:10.0.0.4:5900 10.0.0.3 -p 10002 -l root
그러면 A가 127.0.0.1:9999를 입력하여 서비스에 접근하면 SSH 터널링을 통해 C의 서비스를 접근할 수 있다.