通过Obfuscated ssh避免时不时ssh连接不畅的问题

众所周知的原因,为了能流畅的使用google、使用某些“不存在”的网站,我们一般都是需要通过某些不方便光明正大说明使用用途的技术。比如通过ssh tunnel,这是最简单的,也是用得最多的。

不过,这段时间,明显,某些墙的干扰力度加大了;-(

下午有些郁闷了,于是就得找些进一步改进来进一步避免干扰的方法,让我们能继续流畅冲浪,很快就发现Obfuscated ssh就是一个现成成熟的方法。

首先下载Obfuscated ssh,登录到境外linux服务器上后,下载:

wget -O ofcssh.tar.gz https://github.com/brl/obfuscated-openssh/tarball/master

解压

tar zxvf ofcssh.tar.gz

进入

cd brl-obfuscated-openssh-ca93a2c

配置

./configure

编译安装

make

make install

安装完成后,可以看到输出信息中最后类似如下:

......

/usr/local/sbin/sshd -t -f /usr/local/etc/sshd_config

这就安装成功了,上面一句就是直接运行的命令,其实也就是提示了Obfuscated ssh的安装位置以及配置文件的位置。

当然,缺省这个配置文件是不能用的,基本内容全都注释掉了,为了简单起见,我们可以在标准sshd的配置的基础上改改就行了。

我们复制一份支持混淆的sshd到标准sshd的目录下,再复制一份标准sshd的配置给这个支持混淆的sshd用。

cp /usr/local/sbin/sshd /usr/sbin/sshd_ofc

cp /etc/ssh/sshd_config /etc/ssh/sshd_ofc_config

sed -i "s/Port /#Port /g" /etc/ssh/sshd_ofc_config

sed -i "s/UsePAM /#UsePAM /g" /etc/ssh/sshd_ofc_config

echo "ObfuscatedPort 2201" >> /etc/ssh/sshd_ofc_config

echo "ObfuscateKeyword yourkeyword" >> /etc/ssh/sshd_ofc_config

就是直接使用标准sshd的配置,但将原配置中的端口及UsePAM注释掉,增加支持混淆的sshd的端口为2201,混淆密码为 yourkeyword 。当然这里这个端口不要与已经在运行的标准sshd的端口一样。

然后运行测试一下:

/usr/sbin/sshd_ofc -f /etc/ssh/sshd_ofc_config

然后,在本地的Windows下使用putty设置进行ssh tunnel,结果发现putty不支持Obfuscated ssh。这里我们还得去下一个支持Obfuscated ssh的putty版本--potty,在这里下载:

http://www.mrhinkydink.com/potty.htm

下载后,可以解压到putty目录下,然后运行类似这样的命令:

c:\tools\putty\potty -N -ssh UserName@Server -P 2201 -pw password -C -z -Z yourkeyword -D 127.0.0.1:6060

这样,我们就可以通过127.0.0.1:6060的sock5来冲浪了。

一切正常后,就可以在服务器上把sshd_ofc的启动命令简单加入到rc.local开机自动启动即可。

通过几小时的测试,使用Obfuscated ssh后,我这本地的体验又恢复到没被干扰前的状态了。

10.23补充,刚才看到留言了,对没有加参考链接表示抱歉,这里特别说明一下,上面的内容参考了以下链接:

  1. http://blog.slpo.net/?p=1234
  2. http://nihilex.com/obfuscated-openssh
  3. http://briteming.blogspot.com/2012/06/obfuscatedgfwssh.html
  4. http://www.mrhinkydink.com/potty.htm
  5. http://mrhinkydink.blogspot.com/p/about-potty.html
  6. https://github.com/brl/obfuscated-openssh

其中本文所有操作命令主要参考了http://blog.slpo.net/?p=1234一文,详细参考内容包括但不限于:

  1. 对Obfuscated ssh的了解来之http://briteming.blogspot.com/2012/06/obfuscatedgfwssh.htmlhttps://github.com/brl/obfuscated-openssh
  2. 下载保存的文件名及运行方式参考http://blog.slpo.net/?p=1234
  3. “复制一份标准sshd的配置给这个支持混淆的sshd用”后的shell命令引用了http://blog.slpo.net/?p=1234一文中的操作。
  4. 对potty的了解来之http://www.mrhinkydink.com/potty.htmhttp://mrhinkydink.blogspot.com/p/about-potty.html
  5. potty连接Obfuscated ssh服务器的命令参考了http://blog.slpo.net/?p=1234一文

标签: ssh, stable, obfuscated ssh, 稳定连接, 避免, 干扰

已有 13 条评论

  1. DZF

    翻译自
    http://blog.slpo.net/?p=1234
    的,请注明出处。

    1. 谢谢,已加出处。

  2. C4D

    我怎么做了很多次没出现错误提示但是都失败了..最后为什么不直接用软件图像界面而要用命令行?ObfuscateKeyword和yourkeyword是不改还是改成make install输出的代码?期待着博主的回复

    1. 端口,注意端口。缺省标准ssh的端口是22,你得改一个不同的。yourkeyword你可以随便改一个字符串即可,这是用于加密的字符串,服务端的和客户端的得一致。

  3. haha

    在官网上下载的potty.exe后,用virustotal.com检测到potty.exe有3个涉及安全的问题啊:Trj/FakeST.A 、WS.Reputation.1、TROJ_GEN.R47H1KO。但没检测到源码有问题,却又不会编译源码。。。郁闷。。

    1. 下载后请首先检查文件的md5是否与官网上的一致。VirusTotal.com上的结果我看了,应该是那3款杀软的误报,要知道这文件是一年多前编译的,这三家应该是根本就没人送样本过去。

  4. 我使用 HevTLSTunnel 通用的 TCP 混淆器。

  5. 很有用,谢谢分享。

  6. zxbiao

    编译完并按照你的配置文件出现了此错误:
    /etc/ssh/sshd_ofc_config line 74: Unsupported option GSSAPIAuthentication
    /etc/ssh/sshd_ofc_config line 76: Unsupported option GSSAPICleanupCredentials

    1. zxbiao

      我的VPS是centos 5.x 32bits

    2. 你可以试试把sshd_ofc_config中GSSAPIAuthentication和GSSAPICleanupCredentials项目注释掉,就是在74和76行前面加上一个#

  7. max

    hi, 请问一下,如果UsePAM设置为no,没有SELinux的支持,这个ssh server 会不会相对没有那么安全?谢谢!

  8. [...]参考http://mosir.org/html/y2012/give-us-a-stable-ssh-connect-by-obfuscated-ssh.html[...]

添加新评论