SSH隧道
ssh不光可以用来远程登录, 而且可以建立加密隧道, 通过其浏览网页等. 实在是居家旅游必备之物.
但是你需要一个远程机器它支持SSH连接, 哦, 如果它在国外的话, 您就要注意和谐了.
端口转发
下面的步骤, 别人已经写得很多, 我就不赘述了。
最重要的是利用ssh的转发功能:
ssh -f -D 9999 $SSH_HOST
这儿-f
让ssh进入后台, 而-D
则是动态端口转发, 让本地的对端口9999的链接都通过socket转到$SSH_HOST上去。
记得把firefox或者其他软件的代理设置为本地的9999即可。在linux上, 可以使用proxychains来让所有软件都使用这个代理。
Firefox中把socks5设置为localhost的9999端口即可.
另外一个我常用的ssh参数是**-L 9999:ip_address:8888**,类似于**-D**, 但它只把本地端口9999上的内容转到ip_address上的8888上。
反向隧道(reverse tunnel)
有主机A和主机B, B想要连接到A上, 但A在防火墙后, 所以无法直接连接. 这时候, 可以使用反向隧道.
- from commandlinefu
防火墙后的主机A
ssh -R 2001:localhost:22 [username]@[remote server](ip)
防火墙外的主机B
ssh localhost -p 2001
工具
- ssh: 核心中的核心。
- proxychains / tsocks: linux里面自动利用ssh隧道作为代理
- putty + plink: windoz上必备的ssh客户端。