在 Linux 上建立通道

mount:

ssh -N -f -L 10001:localhost:139 -M -S /tmp/ssh_tunnel_%h.sock -o ExitOnForwardFailure=yes wo@example.com &&

echo “ssh tunnel started successfully" ||

echo “ssh tunnel failed to start"

umount:

ssh -S /tmp/ssh_tunnel_%h.sock -O exit wo@example.com

在 Linux 上建立通道

$ssh -N -f -L 9000:dst_server:1234 user@mid_server

-N 參數的用途是"不建立shell"

-f 參數的用途是"連線後執行於背景"

-L 把本機的9000透過 midserver 導到 dst_server 的 1234

-L [bind_address:]port:host:hostport

輸入完密碼後即會回到原來的shell,建立Tunnel之後的操作就跟前面差不多了。

$ssh -N -f -D 1080 user@mid_server

-D 在本機port 1080 建立 sock ,然後 client app 連線時必須使用 sock 連接到本機 port 1080

支援sock proxy的程式,如:msn 可以用這種方式比較簡單,不需要額外設定 port forwarding