科学上网总结

一、写在前面

在计算机技术、程序开发学习的道路上,可以说瞎折腾了很多,浪费了很多时间,走了很多弯路,也一直没觉悟到那些大牛、大 v 的所做作为,直到通过不断的反思和交流,我也慢慢实践,才深刻体会到那些所带来的真正价值和改变。

在讲该文主要内容之前,我想先简单谈谈关于程序员(有的自嘲称为码农)在学习的道路该有的「所做所为」,这是我有看到的很多优秀的人共同的做法,我确实也觉得是一名程序员该有的 必备姿势

  1. 掌握 Git,熟悉 Github,没事多逛逛开源社区,这会为你打开一片广阔的代码世界,会见识多很多程序大牛;

    很早的我只听过 Git 和 Github,但连什么区别都不知道,直到去年我有深入了解和学习,才发现基本全是活跃着程序员的 Github 是非常好的一个学习平台 ,而且一般会使用 Github 的人技术水平也应该不差,上面也能搜到很多人分享的资源。

  2. 记笔记或者写博客、公众号都可以,「好记性不如烂笔头」,真的 ,把学习的内容再写一遍,甚至总结成教程、出书(可以利用 GitBook 制作电子书、写书于掘金平台的小册,等等方式),既相当再思考一遍,而且可以随时拿出来翻阅复习,另外还锻炼写作能力。当然这里不要要分享就看个人了;

    如果能把个人写的非常好的的文章分享,可能会收获很多人气和流量,有利于职业发展,公司招聘或者直接通过这个渠道找到你也是可能的。同时,写作也是一种第二技能的培养,保不准以后写作也能成为你的副业,不小心做了个斜杠青年,哈哈。

  3. 多用谷歌搜索,遇到问题,先学会自己网上找解决办法,那么肯定的我们首先用的是搜索引擎找答案,作为过来人,建议可以远离某度,拥抱谷歌吧;

    以前的我不以为然那些人自诩谷歌大法好的人,某度我也用的好好的呀,早已离开大陆的谷歌啥好的,对中文类资料搜索肯定不怎么好吧?但直到后来我坚持用了谷歌搜索才感受到了好在哪,谷歌这么家伟大的公司真不是盖的。在高准确率以及没那么多烦人广告这两点都很赞了。

  4. 掌握一些必要的好用的软件、工具以及电脑技巧,达到事半功倍效果,高效率完成事情;

  5. 多阅读,多学习,这个行业技术更新太快,不汲取更新鲜的知识可能都要掉队了;

  6. 还有很多……比如学会提问,善于沟通,真诚请教,关注行业内容等等,这都是需要的,毕竟我们在学习路途会遇到很多问题,这几个都是需要把握的;

  7. 当然还有,多观察观察那些厉害的人会有答案的,像他们学习…….

好了,不扯那么多,开启本文内容。本文是针对这些年我使用的过的 FQ 的方式做个总结,这项在我看来是首要掌握的一个必备姿势。PS:不能使用的方式我已标注了删除线。

二、方式总结

2.1 Win7创建 VPN 连接

最早的时候,我不知道在哪看到的一个方式,当然现在是没用了,方法如下:

按照正常创建 VPN 连接就行 以 Win7 为例文字说明一下步骤就行

  1. 打开控制面板-网络共享中心
  2. 设置新的连接或网络
  3. 连接到工作区
  4. 使用我的Internet连接(VPN)
  5. 键入要连接的Internet地址
  6. 键入你的用户名和密码

(PS:我当时,常用第一个英国的VPN: www.getukvpn.com getukvpn )

在这里 你可以得到一个免费的VPN账号 。
美国IP免费VPN
http://www.freevpnhosting.com
http://www.bestvpnusa.com
http://www.freehostedvpn.com/usa-free-vpn
http://www.usipvpn.com
http://us.hotfreevpn.com
http://www.ufreevpn.com/usa-free-vpn
英国IP免费VPN
http://www.getukvpn.com
http://www.freehostedvpn.com/uk-free-vpn
http://uk.hotfreevpn.com
http://www.ufreevpn.com/uk-free-vpn
加拿大IP免费VPN
http://www.bestcanadavpn.com
http://www.freehostedvpn.com/canada-free-vpn
http://ca.hotfreevpn.com
http://www.ufreevpn.com/canada-free-vpn
荷南的IP免费VPN
http://www.nlfreevpn.com
http://www.freevpn.nl
http://www.justfreevpn.com

2.2 修改Hosts文件

2.2.1 介绍 Hosts

hosts 文件是一个特殊的文件,没有扩展名,其文件所在的位置通常是 windows 系统安装目录下。Win7 系统hosts 文件位于 C:\Windows\System32\drivers\etc\hosts,没有拓展名。

这个文件可以用记事本等工具打开,其作用就是将网址域名与IP地址对应起来,建立一个关联“数据库”,这样的话,当用户在浏览器中输入一个网址时,系统会首先从 hosts 文件中寻找对应的 IP 地址,一旦找到,系统会立即打开对应网页,如果没有找到,则系统再将网址提交DNS域名解析服务器进行IP地址的解析。

那么,为什么修改HOSTS文件可以实现翻墙呢?

无论你上网打的什么网站地址, 实际上最终总归是要转换成一个IP地址才能访问的,平时这个转换工作是有网络上的DNS服务器来完成的。但是有些时候,某些网站,,处于某些原因, 网络上的DNS服务器无法给出正确的或可用IP地址(不多说…)。

在看下这篇文章写的:为什么修改Hosts可以实现翻墙?

简单来说Hosts文件负责将主机名映射到相应的IP地址。hosts文件通常用于补充或取代网络中DNS的功能。和DNS不同的是,计算机的用户可以直接对hosts文件进行控制。

以下专业性较强,小白请绕道!为了方便用户记忆,我们将IP变成一个个的域名来输入到浏览器进行访问。而这使得访问网站时要先将其域名解析成 IP 。DNS (Domain Name Server) 的作用就是进行 IP 解析,把域名对应到 IP。

在 Great FireWall 的 5 种封锁方法中,有一种简单而效果很好的方法是 DNS 污染。GFW 会对 DNS 的解析过程进行干扰,这会使对某些被干扰的域名返回一个错误的 IP 地址给你的主机,使你无法正确连接到你要的服务器上读取正确的信息。

Hosts 文件本来是用来提高解析效率。在进行 DNS 请求以前,系统会先检查自己的 Hosts 文件中是否有这个地址映射关系,如果有则调用这个 IP 地址映射,如果没有再向已知的 DNS 服务器提出域名解析。也就是说 Hosts 的请求级别比 DNS 高。当你的 Hosts 文件里面有对应的 IP 时,它就会直接访问那个 IP,而不用通过 DNS。

所以,当我们直接将 Google、Twitter、Facebook 之类的 IP 放入 Hosts 文件后,就可以跳过 DNS 的解析这一步,直接就行 IP 访问,不受 GFW 的 DNS 污染干扰了。

这么说完,应该明白了吧。

补充:修改本地 hosts 能 FQ 的原因,因为不少的国外大站,比如像youtube,facebook,google或者twitter在全球有多个ip地址,有些ip地址是没有被封锁的,这样就可以使用修改 hosts 直接指向可用的ip地址,这样就可以绕过国内防火墙。网上有不少网址都在提供可用hosts 文件下载,唯一的缺点就是需要经常更换hosts文件,目前的hosts谷歌文件较多,但youtube,facebook,twitter基本上没有,所以这种方法也不是一个完美的解决方法,但偶尔可以使用一下。

但是为什么 Hosts 的 IP 要时不时更改呢?因为 Hosts 文件配置的映射是静态的,如果网络上的网站的 IP 地址更改了需要及时更新 IP 地址,否则就不能访问了。该 Git 项目持续更新可用的 Hosts 文件:https://github.com/racaljk/hosts

2.2.2 如何修改Hosts

比如谷歌网站的 ip 为:172.217.6.127,那么你想要 www.google.com 来访问,只要在 C:\Windows\System32\drivers\etc\hosts 该文件末尾添加:

1
172.217.6.127	www.google.com

即可。

如上,hosts 就是手动建立一个 IP 与域名网址间的对应关系。而修改 hosts 文件这种行为有无危险性,要看建立的对应关系来确定。

如果是可信任的 IP 对应修改,则没什么大的危险,但如果是一些恶意的,就比较危险了。比如 IP 对应的是个木马网站,那么你每次访问都会自动引导至这个站点,可想而知,危险有多大。

PS: www.google.com/ncr中的”/ncr”是什么意思?起什么作用的?

ncr : no country redirect

2.3 免费工具与插件

对于一些免费的软件、工具和插件,使用过一些,下面介绍下。

自由门

自由门是世界顶级网络公司 Dynamic 开发的公益性的全自动代理软件,永久免费;自2002年第一版问世以来,已在全球拥有大量忠实用户;fg翻墙能力极强,可以让你畅游 facebook、youtube、twitter 等被封网站。 除此之外,通过本软件,你还可以浏览海内外新闻资讯,观看海外中文电视直播,下载影音视频、各种资料等。自由门下载: http://dongtaiwang.com/loc/phome.php?v=7.54p

平台:Win

很早的时候就听说了自由门这个软件,当时用倒是能用下,不过也在很早就不能使用了。

无界浏览

无界是世界顶级网络公司“极景”开发的全自动代理软件,也是公益性质的,永久免费;和fg一样,软件具有极强的翻墙能力,无需安装,双击运行后,就可以让你畅游 facebook、youtube、twitter 等被封网站了。无界浏览下载:http://www.wujieliulan.com/download.php

平台:Win、安卓

也自由门一样,很早也不能使用了。

赛风:

赛风是一个规避审查的工具,它的设计目的是访问开房的互联网,绕过审核和防火墙。它是开源并且开发于加拿大多伦多市。psiphon 在 android 和 windows 平台上可用。赛风下载:https://s3.amazonaws.com/psiphon/web/mjr4-p23r-puwl/zh/download.html)

平台:Win、安卓、iOS

赛风目前还能正常使用,但速度、稳定性都不太好。

翻墙路由器(fqrouter)

这是一款比较轻量级的 Android 系统翻墙工具,而且是开源的(代码库地址:https://github.com/fqrouter/fqrouter),作者是天朝网友。

平台:安卓

现在也没用过,估计应该不能用了吧。网上搜了下资料,据说2015年1月8日 fqrouter开发者在twitter宣布终止该项目的开发。同时找到篇文章:GFW 的详细分析及翻墙路由器 (fqrouter) 的原理和实现, 有时间可以看看。

蓝灯:

Lantern,中文译为“灯笼”,据说是谷歌出资打造的一款帆樯软件,其口号为“人人可享的开放网络”。官网:https://www.getlantern.org/zh_CN/ ;Github下载:https://github.com/getlantern/forum

平台:Win、macOS、Ubuntu、安卓、iOS版本将在2018年发布

免费版每个月有500MB流量限制。免费版流量使用完毕之后每个TCP连接会限速到10KB/s。专业版流量无限,速度无限。 支持同时连接多台服务器,有专门的专业版优质线路。蓝灯专业版和免费版的区别

Chrome插件:谷歌访问助手:

插件介绍:最简单易用的谷歌访问助手,为chrome扩展用户量身打造。可以解决chrome扩展无法自动更新的问题,同时可以访问谷歌google搜索,gmail邮箱,google+等谷歌服务。使用本插件可以免费上: google.com(谷歌搜索)、mail.google.com(gmail邮箱)、chrome商店访问。使用本扩展需要简单激活:有一定免激活时间,请安装后按说明激活使用。由于本扩展需要用户手工设置hao123导航为首页,才能激活使用。

打开 chrome,再 插件安装

当然了,相信还有很多电脑端、手机端能使用的软件和工具,我也看到很多人有提到,我就没去整理了。

2.4 XX-Net

介绍:XX-NET,系GAE类代理,即通过可用Google ip连接Google App Engine项目,然后把所有tcp请求发送给Google App Engine,最终实现科学式网络的一种代理工具。过程中,GAE类代理会伪造次证书,跳过证书验证机制。几年前,所有人用一套证书,安全性很差。近几年,用户量大增,也实现了每个人的证书都不同,安全性相对提高了不少。此外,由于替换了证书,实际上是个假http代理,所以不支持做任何其他代理的前置代理。至于XX-NET的优势,可以自动扫Google IP,并进行IP筛选机制,使得用户可以非常稳定的使用XX-NET,这是其他GAE类代理所没有的机制。当然,也有其他GAE类代理所共同的优点,流量可以说几乎无限制!

GitHub地址:https://github.com/XX-net/XX-Net

平台:只需安装浏览器就行
如何设置看这里:xx-net 中文文档 ,也可以参考网上其他文档,如 XX-NET史上最详细完整教程

在用影梭之前我都是用的 xx-net,当时一直都是可以的。

2.5 购买VPN

VPN:英文全称是“Virtual Private Network”,翻译过来就是「虚拟专用网络」。vpn通常拿来做2个事情,一个是可以让世界上任意2台机器进入一个虚拟的局域网中(当然这个局域网的数据通讯是加密的,很安全,用起来和一个家庭局域网没有区别),一个是可以用来翻墙。

vpn比ss(影梭)更加底层,它通过操作系统的接口直接虚拟出一张网卡,后续整个操作系统的网络通讯都将通过这张虚拟的网卡进行收发。这和任何一个代理的实现思路都差不多,应用层并不知道网卡是虚拟的,这样vpn虚拟网卡将以中间人的身份对数据进行加工,从而实现各种神奇的效果。具体来说,vpn是通过编写一套网卡驱动并注册到操作系统实现的虚拟网卡,这样数据只要经过网卡收发就可以进行拦截处理。

本来 VPN 这玩意儿主要是用于商业公司,为了让那些不在公司里的员工(比如出差在外的)能够方便地访问公司的内部网络。为了防止黑客冒充公司的员工,从外部访问公司的内部网络,VPN 软件都会提供强大的加密功能。而这个加密功能,也就让它顺便成为 FQ 的利器。

VPN的 FQ 原理:

使用 VPN 通常需要先安装客户端软件。当你运行 VPN 客户端,它会尝试联到 VPN 服务器(这点跟加密代理类似)。一旦和 VPN 服务器建立连接,VPN 客户端就会在你的系统中建立了一个虚拟局域网。而且,你的系统中也会多出一个虚拟网卡(在 Windows 下,可以用 ipconfig /all 命令,看到这多出来的网卡)。这样一来,你的系统中就有不止一块网卡。这就引出一个问题:那些访问网络的程序,它的数据流应该通过哪个网卡进出?

为了解决此问题,VPN 客户端通常会修改你系统的路由表,让那些数据流,优先从虚拟的网卡进出。由于虚拟的网卡是通往 VPN 服务器的,当数据流到达 VPN 服务器之后,VPN 服务器再帮你把数据流转向到真正的目的地。

前面说了,VPN 为了保证安全,都采用强加密的方式传输数据。这样一来,GFW 就无法分析你的网络数据流,进行敏感词过滤。所以,使用墙外的VPN服务器,无形中就能达到翻墙的效果。

VPN优点:

由于 VPN 客户端会建立虚拟局域网并修改路由表,所以系统中所有涉及到网络的应用程序(比如:浏览器、邮件客户端、聊天工具)都会通过这个虚拟局域网来访问互联网。也就是说,你无需进行额外的配置,就可以让各种软件翻墙。这就是 VPN 翻墙同加密代理翻墙,最主要的区别。

VPN缺点:

其一,很多 VPN 是通过客户端软件来建立虚拟局域网的。这些客户端软件通常都需要在系统中装驱动。因此,这类 VPN 的客户端软件都不是绿色软件,而且还需要管理员权限才能安装。这样一来,那些通过网吧上网的同学,就无福享用此类VPN了。像俺这样,非常偏爱绿色软件的,估计也不太喜欢这类 VPN。(某些基于 PPTP/L2TP/IPsec 的 VPN,由于无需安装客户端软件,没有此缺点)

其二,虽然 GFW 对 VPN 加密的数据流无可奈何。但是别忘了,GFW 还有另外的招数——域名封锁和 IP 封锁。如果某个 VPN 用的人太多,GFW会针对这个VPN的服务器进行域名封锁和 IP 封锁。让这个VPN 彻底用不了。

来自网上:

2017年初,工信部发布了新的政策,基本内容可以理解为禁止国内公司未经政府允许提供VPN服务,其结果是国内VPN供应商将面临被封的危险。2017年6月,著名国内VPN服务商GreenVPN被迫关闭、停止服务,证明了这种趋势。所以我们不推荐大家使用任何由中国大陆VPN公司提供的服务。海外VPN公司不受中国大陆政策影响,不会面临被迫关门的危险,当然国外VPN服务商的网站存在被封。

一般来说,服务商开展VPN代理服务都不是免费,国内本来有比如云梯VPN,但早些时间看到有人说被迫关闭了。那还有哪些VPN推荐吗,我在网上找到了:ExpressVPNvyprvpnpurevpnNordVPN

这样来看话,我们购买还能不错的VPN只能考虑国外的,国内能代理的VPN服务估计没有了,但国外的VPN就不会被挂吗?会的,一般有两个原因,一是作为该VPN的国外的那台服务器关闭了或是停掉了;二是国外那台所用的IP由于被国内IP频繁访问对接,被天朝发现然后封掉了。

需要从技术层面了解原理的话,我在网上找了几篇文章,也是很值得看看,当做学习网络知识:

“如何翻墙”系列:扫盲 VPN 翻墙——以 Hotspot Shield 为例

上网限制和翻墙基本原理

vpn工作原理和搭建方法

翻墙软件推荐话,可以参考这个:翻墙软件指南

2.6 杀手锏——Shadowsocks影梭(详细介绍)

2.6.1 基础知识了解

  • 首先了解下相关知识,了解什么是 VPS,SSH以及原理,可以看该文:科学上网的终极姿势关于shadowsocks的一些思考

    对于影梭原理的总结:shadowsocks在客户端机器本地部署了一个socks5 server端,用户使用一个支持sock5的客户端软件(最常见的如:浏览器)连接这个sock5 server发送数据。这个sock5 server是shadowsocks按照socks5协议开发的,它解密数据为明文后按照shadowsocks自定义的一种新的通讯协议加密发送给在GFW外部署的shadowsocks server,这个server按照shadowsocks协议解密数据为明文,并将明文发给墙外的目标机。简单举个例子,你部署了SS服务在香港某VPS,你需要访问谷歌,其过程为:你通过你本地SS Local发送数据到SS Server,然后在请求谷歌网站。但 VPN 的过程,则为你发送数据到某台服务器(现在能用的估计只有国外服务器),该服务器代理你的请求,把你的请求再发往谷歌。

  • 关于 SS/SSR客户端的功能介绍和使用教程可以看这两篇:大概是萌新也看得懂的SSR功能详细介绍&使用教程ShadowsocksR 客户端 小白使用教程(需要梯子)

更多内容可以去看 [逗比基地] 这个网站的内容该网站基本把所有相关问题讲的很清楚,这里有个索引:关于Shadowsocks的小白常见问题 总结篇,看完你会了解得更清楚!

Putty的使用:PUTTY工具应用及登录VPS主机SSH账户

VPN和影梭 FQ 的原理的区别:Vpn与ss/ssr的区别Shadowsocks(Sock5代理)的PAC模式与全局模式与VPN的区别

2.6.2 对影梭的总结

VPN: 就是一个软件一个帐号和密码,我们登陆了以后,我们的机器访问网站或者是上QQ或者是登陆一些网络软件的时候,所显示的和使用的IP都是国外的。也就是说,VPN是一个可以让我们的机器直接连接到国外的网线上的东西,就这么理解就行了。

VPS: 就是Virtual Private Server的英文件缩写,说得是在一台服务器上创建多个相互隔离的虚拟服务器。我们可以把VPS理解为一台服务器用软件分割开以后,就成了多台服务器,他们有独立的操作系统,具有独立的IP,这个时候每一个小的独立操作系统,就是一个VPS,也可以理解为,VPS就是一个配置低了点的服务器。这些虚拟服务器以最大化的效率共享硬件、软件许可证以及管理资源。对其用户和应用程序来讲,每一个VPS平台的运行和管理都和一台独立主机完全相同,因为每一个VPS都可以独立进行重启,并拥有自己的root访问权限、用户、IP地址、内存、过程、文件、应用程序、系统函数库以及配置文件。

ss:ss作者是clowwindy,大约两年前,他自己为了翻墙写了shadowsocks,简称ss或者叫影梭,后来他觉得这个东西非常好用,速度快,而且不会被封锁,他就把源码共享在了github上,然后就火了,但是后来作者被请去喝茶,删了代码,并且保证不再参与维护更新。注:但Shadowsocks属于开源项目,所以删除前已经有人备份,同时由另一个志愿者跟进维护原版 Shadowsocks 客户端,而其他基于Shadowsocks项目的第三方项目有: ShadowsocksR、Shadowsocks-qt5、ShadowsocksCap等来维护更新Window/Linux客户端(其他系统的不一一举例了)。

ssr:在ss作者被喝茶之后,github上出现了一个叫breakwa11(破娃)的帐号,声称ss容易被防火墙检测到,所以在混淆和协议方面做了改进,更加不容易被检测到,而且兼容ss,改进后的项目叫shadowsocks-R,简称ssr,然后ss用户和ssr用户自然分成了两个派别,互相撕逼,直到前阵子,破娃被人肉出来,无奈之下删除了ssr的代码,并且解散了所有相关群组。PS:其改进的地方主要特点是增加了一些人性化功能,比如服务器连接统计、连接管理、协议转换、多重代理等。最主要的是ShadowsocksR的混淆协议和插件功能,因为Shadowsocks原版项目已经无人维护,同时Qiang的工作人员也在不停的寻找效率批量匹配特征的方法,目前SS原版协议在大部分地区已经被 匹配流量特征QOS限速了。所以ShadowsocksR的混淆协议和插件就应运而生,其目的就是欺骗Qiang目前的流量匹配功能和QOS限速。需要说明的是,ShadowsocksR目前最新的协议和混淆是会增加延迟和损耗15%的速度(因为混淆需要时间,越复杂的混淆越不容易被墙发现,同时混淆时间越长),所以如果你没有限速,或许用原版协议和混淆会更好。

ss和ssr它的原理都是一样的,就是socks5代理。socks代理只是简单的传递数据包,而不必关心是何种协议,所以socks代理比其他应用层代理要快的多。socks5代理是把你的网络数据请求通过一条连接你和代理服务器之间的通道,由服务器转发到目的地,这个过程中你是没有通过一条专用通道的,只是数据包的发出,然后被代理服务器收到,整个过程并没有额外的处理。通俗的说,现在你有一个代理服务器在香港,比如你现在想要访问google,你的电脑发出请求,流量通过socks5连接发到你在香港的服务器上,然后再由你在香港的服务器去访问google,再把访问结果传回你的电脑,这样就实现了翻墙。

问题:shadowsocks会不会被和谐?我认为很难。

首先,我认为GFW也不会过度干预跨境流量,因为用途并不能完全确定,因此我们GFW外的shadowsocks server的IP地址通常不会被无脑拦截,除非IP所在的机房做了什么过份的事情,因此shadowsocks server的连通性应该可以保障。

2.6.3 搭建实战

在看完以上内容后,再去搭建也就是看看网上教程安装步骤来就行。

PS:在搭建过程中,如果想要SS、SSR客户端都能使用,设置协议为origin。混淆为plain 就可以。

搬瓦工VPS搭建参考:

Vlutr VPS搭建参考:

DigitalOcean VPS搭建参考:

由于我有申请到了Github学生包,有个 DigitalOcean 的50美元优惠券,只需要再付5美元,总共就有55美元,选择最低VPS套餐 5$/月,这样相当于花3 0 多人民币可以享受11个月的梯子。如果你还是在校学生,可以试着申请一个,参考我这里写的 Github学生包的介绍与申请 ,搭建方法,网上能看到有的人选择的 Ubuntu,有的选择的 CentOS,最后我参考的是Github上这篇文章搭建的:自己搭建ss/ssr服务器教程(适合初学者,最低2.5美元/月) 基于 CentOS 6.X64位的系统搭建的,写的很好,搭建起来也非常简单,就是敲几个命令完事的事。在此,我把主要的步骤和内容记录下:(注:创建VPS服务器的时候我选择的新加坡节点,这个节点对我来说是最快的,测试地址为:https://digitalocean.me/location-and-test-server)

  1. 使用叫 Putty 或者 Xshell 的软件连接登录购买的远程服务器上创建的VPS,可以考虑使用 ssh 方式登录,如果是苹果电脑操作系统,更简单,无需下载putty或xshell,系统可以直接连接VPS。

    在这一步,我使用了putty也用了xshell采用 ssh 方式一直登录不上的问题,很奇怪,不知道哪的问题,折腾了很久,我有试着使用 putty 生成 私钥密钥然后添加的方式,也有使用我电脑在认证Github时候配置的私钥和公钥,但都没行,不知道哪的问题。后来看到问题,试着网上搜了下,看到了这个解决方式:putty 提示“Unable to use key file” 的解决办法,说的是:

    在linux中利用ssh-keygen命令生成的rsa公私钥,公钥加入linux的~/.ssh/authorized_keys,想要利用ssh公私钥来免密码登录,然后利用putty以及生成的私钥,无法ssh登录linux主机,提示:Unable to use key file "xxx\id_rsa" (OpenSSH SSH-2 private key)

    原因是:putty本身不支持openssh的密钥格式,而要求密钥必须符合它自己支持的那种格式,具体格式分析如下:

    —–BEGIN RSA PRIVATE KEY—–
    xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
    xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
    …(省略21行)
    xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
    xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
    —–END RSA PRIVATE KEY—–

    putty的密钥格式:

    PuTTY-User-Key-File-2: ssh-rsa
    Encryption: none
    Comment: rsa-key-20140715
    Public-Lines: 6
    xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
    …(省略4行)
    xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
    Private-Lines: 14
    xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
    xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
    …(省略10行)
    xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
    xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
    Private-MAC: xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

    解决办法:利用puttygen进行格式转换,将openssh格式的私钥转成putty格式,就可以在putty中使用。直接下载链接:http://the.earth.li/~sgtatham/putty/latest/x86/puttygen.exe (当热安装完的 putty是自带这个的,不用另外安装)

    双击运行后,点击load,找到openssh格式的密钥,确定导入,然后再选Save private key,即可保存成putty格式的密钥。

    最后,使用密钥登录:打开putty,新建session,填好相应选项后,再按下面操作导入putty密钥。

    connection -> SSH -> Auth -> Browse -> 选中putty密钥 -> Open

  2. 部署VPS服务器: 连接成功后,之后就可以复制粘贴代码部署了,CentOS6/Debian6/Ubuntu14 ShadowsocksR一键部署管理脚本:

    1
    2
    3
    4
    5
    6
    7
    8
    9
    yum -y install wget

    wget -N --no-check-certificate https://softs.fun/Bash/ssr.sh && chmod +x ssr.sh && bash ssr.sh

    备用脚本:

    yum -y install wget

    wget -N --no-check-certificate https://raw.githubusercontent.com/ToyoDAdoubi/doubi/master/ssr.sh && chmod +x ssr.sh && bash ssr.sh

    复制上面的代码到VPS服务器里,按回车键,脚本会自动安装,以后只需要运行这个快捷命令就可以出现下图的界面进行设置,快捷管理命令为:bash ssr.sh

    如上图出现管理界面后,输入数字1来安装SSR服务端。如果输入1后不能进入下一步,那么请退出xshell,重新连接vps服务器,然后输入快捷管理命令bash ssr.sh 再尝试。

    然后会出现账号有关信息的自定义,依次输入自己想设置的端口和密码 (密码建议用复杂点的字母组合,端口号为1-65535之间的数字),回车键用于确认,再选择想设置的加密方式,接下来是选择协议插件,选择并确认后,会出现提示你是否选择兼容原版,这里的原版指的是SS客户端(SS客户端没有协议和混淆的选项),可以根据需求进行选择,我选择了y,继续,之后进行混淆插件的设置。

    注意:有的地区需要把混淆设置成plain才好用。因为混淆不总是有效果,要看各地区的策略,有时候不混淆(plain)让其看起来像随机数据更好。(注意:tls 1.2_ticket_auth容易受到干扰!请选择除tls开头以外的其它混淆!!!)

    进行混淆插件的设置后,会依次提示你对设备数、单线程限速和端口总限速进行设置,默认值是不进行限制,个人使用的话,选择默认即可,即直接敲回车键。

    之后代码就正式自动部署了,到下图所示的位置,提示你下载文件,输入:y

    耐心等待一会,出现部署完成的界面。

    也可以看到自己设置的SSR账号信息,包括IP、端口、密码、加密方式、协议插件、混淆插件,这些信息需要填入你的SSR客户端。如果之后想修改账号信息,直接输入快捷管理命令:bash ssr.sh 进入管理界面,选择相应的数字来进行一键修改。

  3. 一键加速VPS服务器

    此加速教程为谷歌BBR加速,加速后对速度的提升很明显,所以推荐部署加速脚本。该加速方法是开机自动启动,部署一次就可以了。

    按照第二步的步骤,连接服务器ip,登录成功后,在命令栏里粘贴以下代码:

    1
    2
    3
    4
    5
    6
    7
    yum -y install wget

    wget --no-check-certificate https://github.com/teddysun/across/raw/master/bbr.sh

    chmod +x bbr.sh

    ./bbr.sh

    把上面整个代码复制后粘贴进去,不动的时候按回车,然后耐心等待,最后重启vps服务器即可。

    最后输入y重启服务器或者手动输入代码reboot来确保加速生效,bbr加速脚本是开机自动启动。

  4. 最后就是本地客户端SS或者SSR的设置,这就不多讲了,填上相应信息就可以。在我开启BBR加速之前和之后,我观察到观看油管视频的连接速度由大概 5M/s增加了一倍达到大概 10M/s。还是很可以的,完全满足学习和研究的需求。

提供 VPS 厂商还有很多,比如,搬瓦工(最便宜的套餐为2.99刀/月、19.99刀/年,刚去官网看了下现在该套餐竟没货了,其后台有一键搭建SS/SSR服务,方便,但是因为实惠,用的人很多,有人反映有些IP被封以及速度一般。)

当然如果不愿意折腾,可以考虑一些平台人家专门做这块买卖的人,直接获取到账号登信息使用,或者同学、朋友谁流量多很多的,可以考虑一起合租用。

声明:本文仅供学习研究,旨在为大家更好利用网络学习知识,请勿用于政治及商业非法目的。

觉得文章对您有帮助请我喝杯咖啡吧^_^
0%