`
vfate_linux
  • 浏览: 239170 次
  • 性别: Icon_minigender_1
  • 来自: 上海
文章分类
社区版块
存档分类
最新评论

Ubuntu linux和android上安装使用obfsproxy给ssh"加速"

阅读更多
假如你有台国外的vps,ssh登陆使用的时候出现输入打字卡,慢等现象,毫不犹豫的使用obfsproxy来达到加速的目的!
obfsproxy是一个完全独立的项目,ubuntu安装如下(当然也是最简单快捷的安装方式了):

下载附件后
tar -xvzf obfsproxy-deb.tar.gz
cd obfsproxy-deb
#安装目录中的两个deb包
sudo dpkg -i *.deb
#若有安装出错提示依赖问题,再执行下面的命令会自动解决安装的问题
sudo apt-get install -f
sudo dpkg -i *.deb


当然你也可以通过obfsproxy官方提供的ubuntu的deb源来安装,需要fan.qiang请自行谷歌,添加完的deb源后:
sudo apt-get update
sudo apt-get install obfsproxy


你的vps上的ubuntu服务器和ubuntu桌面安装obfsproxy的方式完全相同.

服务器上执行:
obfsproxy --log-min-severity=info  obfs3 --dest=127.0.0.1:22 server 0.0.0.0:8022

简单解释:127.0.0.1:22代表你服务器本地的ssh默认端口,0.0.0.0:8022是obfsproxy开启的服务器监听端口,后面obfsproxy的客户端会用到,当然这个端口可以随意更改

本地ubuntu桌面通过obfsproxy登陆ssh服务器:
obfsproxy --log-min-severity=info obfs3 --dest=你的ssh服务器地址:8022 client 127.0.0.1:9022
#ssh登陆
ssh -v -p 9022 ssh登陆名@127.0.0.1 

当然你也可以开启ssh tunnel的socks代理
ssh -NCv -D 8080 -p 9022 ssh登陆名@127.0.0.1 

把你的浏览器代理设置成:socks 127.0.0.1 8080 即可畅游互联网免受干扰
这个时候你可以单独建立一个用来使用socks代理的无权限帐号
sudo adduser --shell /usr/sbin/nologin mysocks
#然后通过密钥登陆,比如你从client端scp到ssh服务器的公钥名字为:socks_rsa.pub
sudo mkdir /home/mysocks/.ssh
sudo chmod 700 /home/mysocks/.ssh
cat ./socks_rsa.pub |sudo tee /home/mysocks/.ssh/authorized_keys
sudo chmod 600 /home/mysocks/.ssh/authorized_keys
sudo chown mysocks:mysocks -R /home/mysocks/.ssh
#ssh服务器上的mysocks帐号的公钥设置完毕



android手机上也是能完美使用obfsproxy的,有人给编译了基于shell的obfsproxy的android版见附件,不过这个旧版本只能支持obfs2还是会受到干扰的,希望有人能给编译最新版本支持obfs3
解压附件后,用电脑通过adb连接android手机后
adb push obfsproxy /sdcard/
#重新挂载/system目录支持读写,需要root权限,你要开启root终端的支持
adb shell su -c 'mount -o remount,rw /system'
#复制obfsproxy到可执行目录
adb shell su -c 'cp /sdcard/obfsproxy /system/bin/'
#添加可执行权限
adb shell su -c 'chmod 755 /system/bin/obfsproxy'
#关闭/system目录读写 还原设置为只读
adb shell su -c 'mount -o remount,ro /system'

假如你的手机没有root权限,可以复制obfsproxy到其它非系统目录,然后添加obfsproxy可执行权限也是一样使用obfsproxy,比如安装一个terminal IDE的应用,然后复制obfsproxy到可执行目录

然后打开手机的终端执行命令:
obfsproxy  obfs2 --dest=你的ssh服务器地址:8122 client 127.0.0.1:9122

注意了,你的ssh服务上启动obfsproxy的命令要改成obfs2如下:
obfsproxy  obfs2 --dest=127.0.0.1:22 server 0.0.0.0:8122

最后就是运行fqrouter的app,添加代理,选择ssh,地址就是127.0.0.1,端口就是9122
以vpn的模式运行不需要root权限

当然你也可以不用密码,直接设置ssh密钥登陆,有效避免中间人攻击更安全
假如你的私钥地址: ~/.ssh/id_rsa
adb push ~/.ssh/id_rsa /sdcard/127.0.0.1

即可,127.0.0.1是密钥的文件名字不是目录哦,把fqrouter上的ssh密码留空会自动使用密钥登陆
最后要注意fqrouter和obfsproxy的启动顺序,先运行obfsproxy,再运行fqrouter,一开始访问页面可能会失败,或者较慢..稍等片刻即可!

fqrouter的vpn模式也会区分国内国外流量,此时是不是非常完美了~~ 当然obfs2会受到干扰,最新版的支持Obfs3才是最完美的,求大神能根据源码编译个最新版

参考:1.https://lists.torproject.org/pipermail/tor-dev/2012-February/003296.html
2.https://www.torproject.org/docs/debian.html.en#ubuntu
0
1
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics