$ ssh -D [local_port] -Nf [remote_host]
[local_port] 填入要在 localhost 監聽的 port,[remote_host] 填入 ssh 連線的位址。"-N" 是指不要 login shell,"-f" 放背景執行,也許還可以加個 "-C" 進行壓縮。
之後 Firefox 開啟 proxy 設定,選用 SOCKS v5。主機填 localhost,port 照上面填就可以了。
若要反過來建立一個可以從自由公開網路連進私有網路的 SOCKS server,只要先建立一條 reverse tunnel 即可。
在網路受限的主機上建立 reverse tunnel:
$ ssh -NfR [remote_port]:localhost:22 [remote_host]
在自由網路上的主機需要在 /etc/ssh/sshd_config 裡加上 GatewayPorts=yes,不然會綁到 localhost 去而不是開放網路。
在自由網路上的主機建立 SOCKS server:
$ ssh -D [local_port] -Nf localhost -p [remote_port]
另外為了預防自動斷線,可以在 ~/.ssh/config 中加入 serveraliveinterval 60。
沒有留言:
張貼留言