ssh的連線我相信很多人都很熟悉,尤其是有管理unix like的主機或是伺服器,不過我最近才知道有很方便的穿透連線方式,在這裡記錄一下也與大家分享!

假設條件:
- 公司內部環境(Client)無法直接連線到DMZ(Server B)與暴露在網路上的伺服器(Server C)。
- Client連線到DMZ主機需透過Server A才能到Server B。
- Clinet連線到外網須透過Server A到Server B才能到Server C。
- Client -> Server A
ssh user@ServerA - Client -> Server A -> Server B
ssh -t user@ServerA ssh user@ServerB - Client -> Server A -> Server B -> Server C
ssh -t user@ServerA ssh -t user@ServerB ssh user@ServerC - Client -> Server A(port:1234)-> Server B(port:3456)-> Server C(port:5678)
ssh -t user@ServerA -p 1234 ssh -t user@ServerB -p 3456 ssh user@ServerC -p 5678
p.s.通常若是只有兩層,只需要連線到DMZ的主機,我會建立Cient與Server A之間的ssh tunnel,之後到DMZ的多台主機就直接透過tunnel去連線,也是相當快速!