Putty 로 SSH tunnel 구성하기(1) - firewall 밖에서 안으로

in #windows7 years ago (edited)

Firewall 내부에 있는 Windows PC 에서 Putty를 이용하여 원격지의 ssh session 을 활성화 해 두면, 외부에서 SSH Tunnel 기능을 이용하여 내부망으로 언제든 접속 할 수 있는 방법을 간단한 메모 형식으로 기술 하고자 합니다.

Network Topology

[ a. Server (192.168.1.99:22) ] ----- [ b. WinPC (192.168.1.20) - Putty 실행 ] ---Firewall-- [ c. Cloud Linux Server on Public IP (49.236.146.247) ] ---- [ d. Personal PC on Public Internet ]

What to do

  1. a, b 가 속한 network 은 NAT 이하에 구성된 Private 영역으로 외부에서 접속 가능한 Public IP 가 존재 하지 않는다.
  2. c 환경은 특정 클라우드 서비스에서 무료로 제공하는 linux host 의 public ip 이다.
  3. 나는 어디에서든 c 환경의 shell 을 통해 a,b 가 속한 network 에 접속하고자 한다.

Step by step guide

  • 퇴근하기 전 "b. WinPC 와 c. Cloud Linux Server on Public IP"의 SSH Shell 을 다음 옵션 설정과 함께 연결 해 둔다.
  • "Putty" 의 Configuration >> Connections >> SSH >> Tunnels
  1. [O] Port Forwarding 의 Local ports accept connections from other hosts
  2. Source Port : "12345"
  3. Destination : "Internal IP:Port", e.g, 192.168.1.99:22
  4. Radio Buttion Select with "Remote", "Auto"
  5. Click Add button
  6. "R12345 192.168.1.99:22" 항목 추가 됨

Description

Cloud Server 의 localhost:12345 연결을 WinPC 에서 만든 192.168.1.99:22 연결로 forward 하라는 뜻.

Cloud Server 에서 연결 listen port 생성확인 법

sj@sj-micro:~$ netstat -ln | grep 12345
tcp 0 0 127.0.0.1:12345 0.0.0.0:* LISTEN

Try SSH Connection from Cloud Server

Cloud Server 에서 a. Server에 접속하는 방법
sj@sj-micro:~$ ssh -p 12345 sj@localhost

이상입니다.