众所周知的原因,为了能流畅的使用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一文

PS自己写在后面的:

1.32bit Centos系统需要注销掉GSSAPIAuthentication和GSSAPICleanupCredentials

2 其它按照上面的配置,使用windows客户端成功连接,使用Swithysharp proxy+Chrome可以访问外网,但是访问速度一般,比SS+IPV6速度慢很多

3 貌似ssh可以通过安装其它软件进行优化加速

4 送SS IPV6代理上网账号,时长一周,流量2G(适用校园网使用,PAC模式不走学校的IPV4流量)。

通过Obfuscated ssh避免时不时ssh连接不畅的问题【转】的更多相关文章

  1. Delphi能通过SSH登录Linux,连接MYSQL取数么?像Navicat一样

    百度随时就能搜,你就懒得搜下.http://tieba.baidu.com/p/671327617 Ssh tunnel通常能实现3种功能1) 加密网络传输2) 绕过防火墙3) 让位于广域网的机器连接 ...

  2. SSH Secure Shell Client连接Linux 命令行显示中文乱码问题 和oracle 查询数据中文乱码问题

    一.SSH Secure Shell Client连接Linux 命令行显示中文乱码问题 linux 设置系统语言 修改 /etc/sysconfig/i18n 文件,如 LANG="en_ ...

  3. 利用SSH反向隧道,连接内网服务器

    前言 公司有一台文件服务器(内部使用,无外网IP),上面主要安装了SVN服务,用来存储和共享各部门的文档,因为都是内网,直接远程(mstsc)上去就可以方便维护,但最近公司租了新的办公室,部分员工被分 ...

  4. Putty CentOS SSH 总是自动断开连接

    /********************************************************************** * Putty CentOS SSH 总是自动断开连接 ...

  5. 远程连接工具SSH和linux的连接

    实际开发中,Linux服务器都在其他的地方,我们要通过远程的方式去连接Linux并操作它,Linux远程的操作工具有很多,企业中常用的有Puttty.secureCRT.SSH Secure等.我使用 ...

  6. ssh 通过跳板机连接到远程服务器

    ssh 通过跳板机连接到远程服务器 import paramiko from sshtunnel import SSHTunnelForwarder import threading def read ...

  7. ssh通过密钥进行连接

    sshd服务提供两种安全验证的方法: 基于口令的安全验证:经过验证帐号与密码即可登陆到远程主机. 基于密钥的安全验证:需要在本地生成"密钥对"后将公钥传送至服务端,进行公共密钥的比 ...

  8. SSH 指定密钥,连接远程服务器。

    ssh -i /root/.ssh/private.pem user@192.168.1.100 -p 7744 如上, /root/.ssh/private.pem :密钥文件路径user@192. ...

  9. ssh的两种连接方法(包括无密码访问)

    一.正常连接方法:ssh root@10.0.0.20 二.无密码连接方法(有两台机器:此处我把被连接的称为服务器,另一台则称为客户端): 1.先在服务器添加目录 .ssh: mkdir  .ssh ...

随机推荐

  1. Java和C冒泡排序

    Java 示例代码: public class test { public static void main(String[] args) { String str = "321dca5&q ...

  2. C++ Primer 笔记——变量

    1. 初始化不是赋值,初始化的含义是创建变量时赋予其一个初始值,而赋值的含义是把对象的当前值擦除,而以一个新值来代替. 2.使用列表初始化内置类型的变量时,如果初始值存在丢失信息的风险,则编译器将报错 ...

  3. 微信公众号开发调用自带地图 不显示(openLocation)

    1.需要在wx.config中声明需要使用的功能(openLocation) 例如: wx.config({ debug: false, // 开启调试模式,调用的所有api的返回值会在客户端aler ...

  4. oa项目环境搭建的操作步骤详解

    dto:多表关联查询用单独建一个类,把查询数据放dto即可 vo:是view的缩写.单独定义一个类

  5. 目标检测之选择性搜索-Selective Search

    一.滑动窗口检测器 一种用于目标检测的暴力方法就是从左到右,从上到下滑动窗口,利用分类识别目标.为了在不同观察距离处检测不同的目标类型,我们可以使用不同大小和宽高比的窗口 得到窗口内的图片送入分类器, ...

  6. OpenCV-Python入门教程1-图片

    首先感觉学习OpenCV-python最好的学习工具官方的英文文档. 官方英文教程:OpenCV-Python Tutorials 我使用的是anaconda里的 jupyter notebook.至 ...

  7. KnockoutJs学习笔记(三)

    之前的文章主要针对的是单一的observable(即便是observableArray也是一种observable),而文档Using computed observables则主要是针对ko.com ...

  8. 虚拟机设置静态IP与配置网络

    不废话,直接上图 一:先配置虚拟机的网络 二:配置win10-VM8网络 三:查看以太网的ip信息,直接在管理员命令中输入 ipconfig /all可以到连接信息 四:如果在上面找不到VM8的网络信 ...

  9. HUAWEI USG6000系列 & NGFW Module V100R001 典型配置案例

    https://support.huawei.com/enterprise/zh/doc/DOC1000047742?section=j00d

  10. [转] 2016 JavaScript 发展现状大调查

    有人认为JavaScript是最好的语言,有人认为它一团糟.可按照C++之父的话来讲: 世界上只有两种编程语言:一种是天天被人喷的,另一种是没人用的. 不论你喜欢承认与否,JavaScript已经一天 ...