sshuttle:不需配置的 VPN
2011年05月17日 | 标签: sshuttle, vpn
sshuttle 被其作者称为 “穷人的 VPN”(A poor man’s instant VPN),甚至不需要远端服务器的 root 权限就可以用(只需要一个普通 SSH 帐号),和在 Mac/Linux 客户端直接用 ssh -D 的方式有点类似。如果不想花钱买 VPN,又懒得自己在 VPS 上安装和设置复杂的 VPN 服务,又不想用 ssh -D 这么朴素的技巧的话可以试一下这个 sshuttle,按照作者的说法 sshuttle 比 sshd -D 的方式快一点,因为 It’s just data-over-TCP,而不是 TCP-over-TCP,TCP-over-TCP 的方式会带来不必要的性能问题,因为 TCP 本身就是可靠传输协议,保证了包的有序性和无差错,并确保包被接受,如果有包丢失的话 TCP 协议可以自己立即重传弥补,所以没必要两层都 TCP,一层 TCP 就比较安全了。
sshuttle 的用法很简单,在客户端下载和运行就可以了(需要有 Python 的支持),无需在服务器端做任何配置(但是需要一个 ssh 帐号和 Python 支持):
$ git clone git://github.com/apenwarr/sshuttle $ ./sshuttle -r username@sshserver 0.0.0.0/0 -vv Starting sshuttle proxy. Binding: 12300 Listening on ('127.0.0.1', 12300). [local sudo] Password: firewall manager ready. c : connecting to server... ...
成功运行 sshuttle 后会在 Terminal 上看到一些运行时 log: