跳到主内容

SSH隧道

ssh不光可以用来远程登录, 而且可以建立加密隧道, 通过其浏览网页等. 实在是居家旅游必备之物.

但是你需要一个远程机器它支持SSH连接, 哦, 如果它在国外的话, 您就要注意和谐了.

端口转发

下面的步骤, 别人已经写得很多, 我就不赘述了。

最重要的是利用ssh的转发功能:

ssh -f -D 9999 $SSH_HOST

这儿-fssh进入后台, 而-D则是动态端口转发, 让本地的对端口9999的链接都通过socket转到$SSH_HOST上去。

记得把firefox或者其他软件的代理设置为本地的9999即可。在linux上, 可以使用proxychains来让所有软件都使用这个代理。

Firefox中把socks5设置为localhost9999端口即可.

另外一个我常用的ssh参数是**-L 9999:ip_address:8888**,类似于**-D**, 但它只把本地端口9999上的内容转到ip_address上的8888上。

反向隧道(reverse tunnel)

有主机A和主机B, B想要连接到A上, 但A在防火墙后, 所以无法直接连接. 这时候, 可以使用反向隧道.

防火墙后的主机A

ssh -R 2001:localhost:22 [username]@[remote server](ip)

防火墙外的主机B

ssh localhost -p 2001

工具

  • ssh: 核心中的核心。
  • proxychains / tsocks: linux里面自动利用ssh隧道作为代理
  • putty + plink: windoz上必备的ssh客户端。