文章

【Linux】透過 SSH Tunnel 加密連線遠端伺服器作為Socks Prxoy Server

【Linux】透過 SSH Tunnel 加密連線遠端伺服器作為Socks Prxoy Server

2024/10/03 臺北進入第二天的颱風假,但客戶案子的時間還是在繼續著,於是在有水有電的日子裡,還是得繼續生存。這次客戶沒有給我們開通 SSH,而是給了我們 Web Console 能夠遠端控制 Server,在這樣的條件下 Web Console 也是限制了公司的 IP 才能連線的。

然而,公司 VPN 因為一些事故而無法使用,於是我只好另尋他法透過公司 IP 進行連線,就在休了一個爽爽的颱風天以後,靈光乍現,想到公司還有一台服役的小 Server 可以當作代理伺服器,以下就是我幻想過後的圖片。

目錄

  • 什麼是 Socks?
  • 實作步驟
  • 結論

什麼是 Socks?

還是要不免俗地說一些廢話的部分,什麼是 Socks 呢?Socket Secure (SOCKS) 是一種網路通訊協定,只要你連到 Socks Proxy,你網路的流量就會透過你指定的 Proxy Server 出去,所以你可以連上 Socks Proxy 後,查查自己的 IP 位置,就會發現出去的 IP 是 Proxy Server 的 IP。

實作步驟

今天的實作以 MAC 電腦為例,Windows 的電腦如果要用 SSH Tunnel 建立通道可以利用 Putty 之類的工具進行嘗試。

首先打開 MAC 的 Terminal 建立通道,這樣你網路的流量會透過 24103 Port 去 Proxy Sever 進行路由,Port號是可以自己定義的。

1
ssh -NfD 24103 user@myproxy.host

參數說明: -N 不執行任何指令 -f 背景執行 -D 將指定的Port轉至Host

然後在 MAC 的網路設定當中,設定 Socks Porxy

最後可以用 MyIP 的網站驗證一下自己上網出去的 IP 是不是 Proxy Server 的 IP,就大功告成囉!

結論

以往都是透過SSH建立通道的方式,對遠端的Server服務進行一些連線,也因為這些經驗才有這樣的想法發現可以使用這樣的方式來作為代理伺服器,在一些經驗當中靈光乍現,繼續經驗與學習。

本文章以 CC BY 4.0 授權