安装obfuscated-openssh

psiphon的服务器端用的就是obfuscated-openssh,下面就是客户端的相应连接命令。对这个东西感兴趣的原因发现自己的vps在晚上20:30左右时连100kb/s的缓冲都没,但用它连接psiphon提供的服务器竟然可以达到4mbps的连接速率轻松1080p。当然qos话题涉及的因素比较多,服务器带宽,常用端口,协议识别都有可能导致流量低下,这例子里用的就是tcp 53,而且obfuscated-openssh经过混淆处理据说没那么容易被识别。

/usr/bin/sshpass -p ff9f2ebf58b66b994458bb5fb9287b1f789ea148c42c939679a56b3374921854 ./ssh -o StrictHostKeyChecking=no -o ConnectTimeout=10 -f -C -D localhost:7777 -N -p 53 -z -Z 895c2e7feff7b8fad2d3f5cf40abdee30fc0a81e5bdd59b8786b1b1df81467e0 psiphon_ssh_934facd4f2c948f6@23.239.18.33

1,obfuscated-openssh 安装
#git clone https://github.com/brl/obfuscated-openssh.git
wget -O ofcssh.tar.gz https://github.com/brl/obfuscated-openssh/tarball/master
tar zxvf ofcssh.tar.gz
cd brl-obfuscated-openssh-ca93a2c
./configure –prefix=/usr/local #这里用到了自定义路径,方便在vps上管理自己的数据
make
make install

2,obfuscated-openssh 配置
修改/usr/local/etc/sshd_config
=========================
ObfuscatedPort 2200
ObfuscateKeyword xxx

#Port 2201 #如果需要正常的ssh访问,可以开放这个端口
Protocol 2

HostKey /home/crawler/sources/obfuscated-openssh/ssh_host_rsa_key

RSAAuthentication yes
PubkeyAuthentication yes

Subsystem sftp /usr/libexec/sftp-server
=========================
建立启动脚本
=========================
#!/usr/bin/sh

# obfuscated ssh service script by halida
# USAGE: start|stop
#

export SSH_HOME=/opt/obfuscated-openssh

case “$1” in

start)

echo “Starting obfuscated ssh.”
$SSH_HOME/sbin/sshd -f $SSH_HOME/etc/sshd_config
;;

stop)

echo “Stopping obfuscated ssh.”
#PID=`ps aux|grep $SSH_HOME/sshd | grep -v grep | awk ‘ { print ( $(2) ) }’`
#kill $PID
killall $SSH_HOME/sbin/sshd
;;
restart|force-reload)
$0 stop
sleep 1
$0 start
;;

*)

echo “obfuscated ssh service”
echo “Usage: $0 {start|stop|restart}”
exit 1
esac

exit 0
=========================
使用iptables开放端口 iptables -I INPUT -p tcp –dport 2200 -j ACCEPT
建立登录用户 useradd -s /usr/sbin/nologin sshuser

3,客户端配置
windows下面使用plonk
下载链接
http://www.mrhinkydink.com/potty.htm

建立批处理
taskkill /f /im plonk.exe
plonk -N -ssh sshuser@vpsip -P 2200 -pw password -C -z -Z xxx -D 127.0.0.1:6060

这样就将远端的2200转发到本地6060,本地可以通过socks5访问127.0.0.1:6060

4,SSH 无密码登录
在openwrt编译生成的包包含openssh-client_5.9p1-4_ramips_24kec.ipk/openssh-keygen_5.9p1-4_ramips_24kec.ipk
为了避免和系统Dropbear SSH client冲突,可以尝试将openssh-client_5.9p1-4_ramips_24kec.ipk里的/etc/ssh目录解压到系统,然后ssh就可以在任意目录调用了。

1,ssh-keygen -t rsa 生成私钥id_rsa,公钥id_rsa.pub,注意备份好文件
2,将~/.ssh/id_rsa.pub 内容保存到vps主机 ~/.ssh/authorized_keys
scp id_rsa.pub root@vpsip:~/.ssh/authorized_keys

3,本地无密码登录
./ssh -o StrictHostKeyChecking=no -o ConnectTimeout=30 -f -C -D 0.0.0.0:1085 -N -p 2200 -z -Z xxx vpsip

不知道哪里有误,发现在centos7和openwrt下面编译的ssh,无法使用类似命令
/bin/sshpass -p password ./ssh -o StrictHostKeyChecking=no -o ConnectTimeout=30 -f -C -D 0.0.0.0:1085 -N -p 2200 -z -Z xxx root@vpsip
但是psiphon调用ssh却可以正常连上obfuscated-openssh服务器端

参考文档
How To Install Obfuscated SSH
http://xhs.me/blog/docs/2013/06/08/how-to-install-obfuscated-ssh/

http://www.mrhinkydink.com/potty.htm
http://mrhinkydink.blogspot.com/p/about-potty.html

Obfuscated-openssh介绍
http://blog.linjunhalida.com/blog/obfuscated-openssh/

* 2015年10月07日星期三
– 关于server refused our key提示
– 两台一模一样的ossh服务,可是有一台用plonk登录就是有该提示,虽然不影响使用就是难受。发现只要将putty里该服务器的私钥去了就没该提示,说明提交了该私钥,最终在polnk加载参数里添加-i “” 解决。就是不清楚为什么另外一台却没这个提示。
– -i key private key file for authentication

* 2015年09月27日星期日
– 增加ssh无密码登录过程

* 2015年09月26日星期六
– 生成文档

About: dato


发表评论

邮箱地址不会被公开。 必填项已用*标注