一直由于我自己是做 WEB 开发,然后就一直有各种国外主机,因此一直以来翻墙都是利用国外的 VPS 的 SSH,通过 Socket5 来进行翻墙的。FXj免费翻墙网
在 Windows 下面,我们可以使用 Bitvise SSH Client 这个神器简单地登录到远程的 Linux 系统上面,同时开启里面的 Socket5 服务器。FXj免费翻墙网
例如,我们有一台远程 VPS,通过 root 用户可以登录到 ssh.example.com 的 22222 端口访问 SSH。FXj免费翻墙网
然后我们希望建立一个 Socket5 隧道,通过访问本机的 127.0.0.1:1080 代理发出的 http 请求都转发到远程的服务器来访问。FXj免费翻墙网
在 Linux 下面,我们只需要使用 ssh 命令即可完成上述操作。FXj免费翻墙网
http://www.linuxidc.com/Linux/2011-08/41710.htmFXj免费翻墙网
http://my.oschina.net/u/1382972/blog/342092FXj免费翻墙网
总结下来,我这里使用下面这句脚本,即可实现代理服务器的开启:FXj免费翻墙网
ssh -qTfnN -D 1080 -p 22222 root@ssh.example.com
于是,通过这样就可以设置代理并成功向外访问了。FXj免费翻墙网
更多一层,我们直接就可以把这个加到 rc.local 里面去随系统启动,但是密码是必须输的,这个怎么破?FXj免费翻墙网
主要参照这个:FXj免费翻墙网
http://www.cnblogs.com/tankaixiong/p/4172942.htmlFXj免费翻墙网
1. 生成公钥和私钥
ssh-keygen -t rsa
默认在 ~/.ssh目录生成两个文件:FXj免费翻墙网
id_rsa :私钥 id_rsa.pub :公钥FXj免费翻墙网
2. 导入公钥到认证文件,更改权限
Shell代码FXj免费翻墙网
将 id_rsa.pub 的公钥内容追加到本机及远程机对应用户的 ~/.ssh/authorized_keys 文件中。FXj免费翻墙网
注意更改权限:FXj免费翻墙网
chmod 700 ~/.ssh chmod 600 ~/.ssh/authorized_keys
3. 测试
ssh -p 22222 root@ssh.example.com
这个时候就可以免输密码登录了!FXj免费翻墙网
来自https://www.huangwenchao.com.cn/2015/08/ubuntu-ssh-socket5-agent.htmlFXj免费翻墙网
|