使用SSH Tunnel提供更安全的存取通道

陳勇勳 Jacky Chen

  • 精誠資訊 恆逸教育訓練中心 資深講師
  • 技術分類:網路管理與通訊應用

SSH Tunnel是一種基於SSH Protocol所延伸出來的應用,其可運用在兩個端點間建立安全的存取通道,讓一些不具加密存取能力的通訊協定,可以被包附在SSH協定之中,藉以提供安全的網路服務存取服務。

如圖一所示我們以POP3協定為例,如果POP3 Client直接與POP3 Server連接時,其Client – Server間將會以明碼的方式進行溝通,而這將會有安全上的顧忌,此時我們可以運用SSH協定在Server及Client之間搭建SSH Tunnel,並且讓POP3 Client藉此通道與POP3 Server進行連繫,以達成安全存取的目的。

Client為Linux作業系統時之SSH Tunnel建立方式


    [root@server ~] ssh -L 127.0.0.1:1234:server:110 root@server

我們只需要在command line下如上指令即可,其中 -L 127.0.0.1:1234 即表示要求ssh client在 127.0.0.1的IP上開啓 port 1234,並且要求ssh server將封包解密後轉交給server的port 110。



Client為Windows作業系統時之SSH Tunnel建立方式

在Windows下我們需要所安裝putty工具,該工具可至http://www.putty.org免費取得,並將SSH的連線參數指定好。

接下來請在Connection SSH Tunnels選項內的 Source Port 欄位輸入 1234,並在Destination欄位內輸入 server:110最後在點選Add按鈕,完成後即可在Forwarded ports欄位內看到 L1234 server:110的參數,其意義與Linux command line 指令中的 -L 127.0.0.1:1234:server:110完全相同。

相關學習資源