代理上网(ssh 动态端口转发)
ssh 是一种加密通讯的网络协议,常用来在两台机器间做远程登陆。在这里,我们用SSH 来做代理上网。
假设情景
你的PC 不能自由联网
但你的PC 可以访问机器B
机器B 可以自由联网
SSH 上网原理
你的PC 通过SSH 登陆机器B,这样在你的机器和机器B之间就建立了一个加密的连接,或者叫隧道。你上网时的数据流就可以通过这条隧道发给B,B再转发给外网。同时。
设置步骤
在你的机器运行以下命令。(windows机器需要安装一些软件才能运行这些命令,比如git bash ,putty)
ssh -D 8080 root@B机器的IP -p B机器的SSH端口
这条命令的意思是,在本地开一个端口8080 ,同时在你的PC 和B 机器之间建立隧道。这个端口支持 sock 5 协议。接下来用 curl 命令测试下代理是否好用
curl --socks 5 127.0.0.1:8080 http://需要访问的网站
如果 curl 访问正常,说明你的代理已经ok