Pages

2013年8月7日星期三

利用Openshift 的 SSH 翻墙

1.前言

这篇文章是翻墙系列的第二篇,也是中篇。其他两篇介绍的是PacketixSnova。目前(2013.8)Openshift SSH部分还没有被墙。如果,你在Openshift里建立的Application 不能通过SSH 连接,恭喜你,你受到了重视。我的第一个程序也受到了重视,后来查询了很多资料,才顺利解决。解决方法:删除你原先的程序,重新建立一个,看看新的app可不可以,如果不行,再删除,再新建,直到成功。这里看大家的运气,不过有一点,如果你的SSH成功的话,目前为止,他是非常稳定和高速的。这一点请放心。

2.背景介绍

SSH,我想我不用多说,大家可以去百科上查询。相信能看到这篇文章的同学没,应该对SSH有一定了解了。这里我会重点说明一下其他的大家模糊的或者外围的知识。
首先,SSH是一个框架。他不只是加密信道,他是一整套的加密解决方案。你可以用他作为加密的FTP,远程桌面,或者是Socks5代理服务器。所以大家可以通过这个东西做很多的东西。这里点到为止。

这里涉及的翻墙就是利用SSH作为Socks5的加密代理服务器去抓取外网的数据包,然后通过加密信道传输给你。

再说说防火长城吧。目前我们知道的他的功能主要包括,DNS污点,和连接重定向。DNS污点,在用户看来,就是将一个合法的域名给解析成非法的IP。而连接重定向,主要针对HTTP连接,当你的信息里面有关键字时,他会通过一系列的手段,从HTTP协议层将你的连接中断(这里不应该叫中断,但是在用户看来,好像是中断)。至于其背后的复杂情况,欢迎来信讨论。

这里说明一下,我并不是要全面的说明这个技术的原理,所以,我只是站在用户的角度上表面上解释这个东西,不对之处请多多包涵。其实,我这样解释有不对的地方,不过这样解释也有好的地方,因为他易于理解。

HTTP有两种,一种是明文的HTTP。这个可以被关键字探测到,因为是未加密的信息。而HTTPS就不行了,因为信息已经加密,无从探测。这里说一件好玩的事,Google 似乎针对防火长城专门强制使用HTTPS,从而防止连接不稳定。Google的连接不稳定非常出名,因为,在一般人看了,是Google服务器的问题,但却是防火长城的问题。针对HTTPS,防火长城会将其443端口封掉,导致HTTPS不能使用。这个很阴险吧。但他不能把所用的都封掉,因为经济和其他行业的需要。

最后说一下,Openshift吧。这个云主机,实在是太适合我们了。之所以这么说,是因为一下原因:
(1).免费
(2).流量貌似没有限制,对于Google GAE每天1GB的来说,要宽裕的多;
(3).支持SSH管理你的Application
(4).支持GIT管理你的Application
(5).可以免费建立三个Application
还有其他的,但和这里关系不大。开发人员一定会喜欢上他的。
In addition,他还可以建一个Snova,但是没有必要,因为他提供SSH了。

闲话写了这么多,我们还是来点实际的吧。

3.注册Openshift,建立一个Application。

这一步,是大家最专业的地方,之所以这么说,我相信每个看到这篇文章的人,都注册过不下几十个账号。所以,还用着我多说么?如果实在不会,好请打开搜索引擎,搜。他们比我写的专业的多。这里我也要感谢他们,要不是向他们学习,我也不会。

图3-1 注册页面

图3-2 注册页面
这个页面是请你去你的邮箱验证一下了。
所以请大家去自己的邮箱验证。
图3-3 验证页面
从邮箱点开那个连接,就呈现这个页面,所以请大家电I Accept了。
图3-4 Get Started With OpenShift 页面
这是Openshift提供的几种管理Application的方式。
我们点最右上角的 My APPS。
至此,我们已经成功注册完成了。

下面是已经注册的朋友参考的。
图3-5 首页
在首页中,没有登录这个链接,所以,点解右上角的MY APPS,后登录。
图3-6 登录页面
图3-7 登录之后的页面
当然,我这个是一个已经建立了Application的页面了。

点击那个 ADD APPLICATION按钮,新建一个APPLICATION。注意,每个账号最多建立三个免费的。如果你原因掏钱,可以有附加的。
图3-8 选择Application的类型的页面
图3-9 选择Application的类型的页面
大家可以按自己的喜好选择一个。我选择的是Django。至于建立Application,我有几点建议。我建立的第一个是JBoss的,但是,悲剧的是,他的22端口也就是SSH的连接端口被墙了。于是乎,我从新建立了一个Django,这个是基于Python的,竟然没问题。我这里并不是要大家建立Django的App,但是我觉得,大家应该碰碰这个“被解放的姜戈”的运气了
图3-10 配置和部署

填写那个Public URL项,然后点击Create Application按钮(这个截图没截上)。然后等。

4.配置openshift SSH

这一步,我讲的详细一点。

首先,对于密钥来说,他分为一对密钥,一对密钥包涵一个公钥和一个私钥。请记住你可以随便分发公钥,但私钥请不要这么做
然后就是生成密钥了。这其中有很多格式,像OpenSSH,Standard SSH2 Format,Putty格式。本质没什么区别,但如果你不明白其中的条条道道,还是用OpenSSH格式

在Windows端中,很多人用Putty。这个固然不错,题外话,最近的斯诺登事件所报道的新闻中,我看到了美军用这个东西了。我用的是Bitvise SSH Client。因为他功能全面,而且针对个人是免费的。
请看,官方网站,和下载地址:
图4-1 Bitvise SSH Client 界面
    (1).生成key
图4-2 认证配置

为什么要生成key了?因为SSH的需要。而且用key最安全了。他是一套很严密的密码体系。而且openshift中必须要有这个东西,才方便管理。
点击上图所示的User keypair manager
图4-3 key管理
如果是第一次配置,则需要生成一个新的。照着图来点击。进入下一步骤。
图4-4 生成新的keypair
注意,生成出来的是一对key,包括 public key 和 private key。所以叫keypair。
图4-5 生成的完key的界面
点击Export 既是导出。
图4-6 key导出界面
这里选择openSSH format,因为导出的格式是Openshift想要的。在一个,这里只导出public key。因为我们要把public key分发给Openshift。而private key要留着自己用。

    (2).在openshift 设置 public key
用记事本打开刚导出的public key。
图4-7 记事本打开的public key
复制一下。
图4-8 分发public key到openshift
粘贴到Openshift的Set your Public key中。
图4-9 正确分发后的页面
    (3).设置通道,提供Socks5代理
在My applications 中,点击你刚才创建的程序。找的下面一行。其中在ssh://xxx@yyy.rhcloud.com 中,xxx是用户名,yyy.rhcloud.com是主机
图4-10 用户名和主机
图4-11 在bitvise 中填写用户名和主机
分别填入到host和 Username 文本框中。
图4-12 设置SOCKS5 代理
如图所示,选择Services,如图填写。这一步的目的是打开SOCKS/HTTP Proxy代理服务
图4-13 登录
点击Login登录。
图 4-14 主机key验证页面
第一次配置会出现这样的提示框,点击Accept and Save
图4-15 正确登录后的提示
如果正确连接上,会弹出两个页面,一个类似FTP,一个是命令行的。放心的关闭着两个页面吧。你用不着的。

5.配置火狐浏览器
图4-16 Firefox 插件

下载名为AutoProxy的Firefox插件
图4-17 AutoProxy首选项

在AutoProxy首选项中点击代理服务器。
图4-18 配置代理服务器
请按照图配置 ssh -D。
图4-19 选择代理模式






图4-20 选择ssh -D 为默认代理
图4-21 我的IP
图4-22 YouTuBe 页面
至此,我们成功配置完,并可以顺利翻墙了。这是我写的比较详细的一篇了,请大家举一反三。最后,祝大家顺利翻墙。欢迎来大家来信讨论。这里的地址是kaiserpolar@gmail.com。

1 条评论 :

  1. 不错啊
    就是openshift经常time out,命令行改TMOUT,重新登进去,又变了

    回复删除