透過 SSH 來安全連線

| 元月 17, 2007 | 沒有迴響| 沒有引用| 3383 reads | Size: L, M, S | Edit: P, C, R |
| Category: Unix-like. |

    最近翻了一些舊文章,發現其實這個可以玩的東西真的很多。例如當連線的跳板、當 proxy 用、做為安全連線的路徑等等。不過其實會找這些資料,主要是因為學校的 proxy 擋了太多的東西,搞得我的遠端連線一直失敗、GAIM 的 MSN 不能連線 等等。

    內文會介紹 Un*x 和 Windows 下的辦法。 

    1.
    當連線跳板、保護之類的用途。例如我 Gaim 的 MSN 在學校連不出去,我利用一部外面的主機來當跳板,就沒問題了。或是在外面用無線網路的時候,可以用這個來上網,比較安全。

    1.1
    在 Un*x 下
    ,你可以用:

    ssh -D PORT ID@HOST

    來連線,例如我要把本地的 Port 3128 指到 192.168.1.1 這部主機去,我可以用:「ssh -D 3128 user@192.168.1.1」。

    連進去後,你可以把你的 GAIM、Firefox 等,將 SOCKS Proxy 設定為「127.0.0.1」Port 是 3128,然後選擇 SOCKS v.5 即可。

    1.2
    在 Windows 下
    ,你可以利用 PieTTy 或是 PuTTy 來達成:

    在如下圖的位置:
    SSH_Proxy_02

    「設定」->「Connection」->「SSH」->「Tunnels」:

    1. 「Source Port」輸入你要的 Port,例如 3128。
    2. 下面選擇「Dynamic」,然後「Add」,最後「Apply」。

    連線進去後,就可以用上面提到的:將 SOCKS Proxy 設定為「127.0.0.1」Port 是 3128,然後選擇 SOCKS v.5。這樣就可以連線了。

     

    2.
    是指定遠端的 Port。例如我從外面 VNC 不能連線到學校的主機,但是 SSH 沒有問題,就可以利用這個來搞定。

    2.1
    在 Unix 下
    ,可以利用:

    ssh  -L  LOCAL_PORT:REMOTE_HOST:REMOTE_PORT  ID@HOST

    例如我要把本地的 Port 9999 指到遠端的 5900 去(VNC),我可以用:「ssh  -L  9999:localhost:5900  user@192.168.1.1」。

    接著我可以打開 vncviewer 之類的,輸入「192.168.1.1::9999」,這樣就透過這條 SSH 連線去連接到遠方的 VNC 服務了。

    2.2
    在 Windows 下
    ,一樣是利用 PieTTy 或是 PuTTy 來達成:

    在如下圖的位置:
    SSH_Proxy_01

    「設定」->「Connection」->「SSH」->「Tunnels」:

    1.「Source Port」輸入你要的 Port,例如 9999。

    2. 「Destination」輸入「localhost」加上你要指定給遠端的 Port,例如「localhost:5900」。

    3. 下面選擇「LOCAL」,然後「Add」,最後「Apply」。

    連線進去後,就建立一條通道了。你可以用 UltraVNC 之類的,然後輸入例如「127.0.0.1::9999」來連線。



Leave A Comment: