当前位置 > 主页 > 万和大讲堂 >


Linux下用网站主机作为加密代理服务器 南京RHCE培训

2016-03-10 10:35

  我曾经介绍过如何使用 Amazon EC2 建立自己的代理服务器来“翻墙“。用这个方法翻墙虽然网速很快,但还是有些缺点。Amazon EC2 是收费的,而且按小时算,所以不能随时都开着我的代理服务器。另外,每次想用代理的时候还得先等一两分钟,让服务器启动。南京RHCE认证培训

 

  然而我今天看到了这个贴子,这才发现还可以使用一个普 通的网站主机作为我的代理服务器。与 Amazon EC2 不同,普通的网站主机是 24/7 运行的,而且你本来就要用它做你的网站,不用额外花钱。以上帖子是专门写给使用 Dreamhost 的 Windows 用户。不过,凡是有支持 SSH 服务网站主机的 Linux 用户也可以享受翻墙的自由感。我为 Linux 用户编了一个小的 BASH 脚本,其主要功能为:

 

  与网站主机创建一个 SSH 隧道连接

 

  SSH 隧道用完之后,安全地关闭 SSH 隧道连接

 

  >用这个脚本,我试了一下上平时被 GFW 封杀的 youtube.com… 结果 Firefox 差点让我晕倒了! 用这个代理,网速快极了… 感觉好像我还在英国上网似的 (那边一般都用 8M 以上的宽带) – 你可以看一下视频:

 

  介绍一下脚本的内容

 

  export SSH_HOST=admin@yoursite.com # username@host

 

  这个需要你自己改一下… 就是你的 webhost 给你的 SSH 用户名和主机地址。 格式为 用户名@地址 (凡是用过 SSH 的人都应该知道写什么)南京RHCE认证培训

 

  if [ ! -f /tmp/.tunnel ]

 

  看看是否已经有 SSH 隧道开着。有的话就将其关闭。没有就创建新的 SSH 隧道。

 

  ssh -f -D 9999 $SSH_HOST "if [ -f ~/.tunnel ]; then rm ~/.tunnel; fi; while [ ! -f ~/.tunnel ]; do echo > /dev/null; done" &

 

  创建新的 SSH 隧道,设定本地 SOCKS 端口为 9999。隧道将会开着直到远程目录 “~/” 里有人创建 .tunnel 此文件为止。南京RHCE认证培训

 

  touch /tmp/.tunnel

 

  在你的电脑上创建 .tunnel 这个文件。这样脚本就知道正开着一个 SSH 隧道。

 

  ssh $SSH_HOST "touch ~/.tunnel"

 

  在远程目录 “~/” 里创建 .tunnel 此文件,这将会断开你电脑与代理服务器的连接

 

  rm /tmp/.tunnel 南京RHCE培训

 

  删除 .tunnel 这个文件。这样脚本就知道 SSH 隧道已关闭。

 

  下载并执行脚本

 

  可以在此下载脚本

 

  下载后放在你的首目录,比如在 ~/bin/。用一个文字编辑器修改脚本里的 ssh 变量并用 chmod 改一下文件权限

 

  chmod u+x tunnel.sh

 

  创建连接

 

  在终端中执行脚本,执行后可以关闭终端。

 

  关闭连接

 

  再次在终端中执行脚本并关闭 Firefox (如果 Firefox 还在用隧道的话,连接暂时无法关闭)

 

  用 SSH 密钥进行授权

 

  你或许注意到了… 以上脚本里没有任何地方可以写下你的 SSH 密码。这就是因为我在用 SSH 密钥来进行电脑与服务器的授权工作,这样更自动化而且比将密码直接写入文本的文件里要安全多了。先打开一个终端,根据一下步骤进行密钥配置:南京RHCE认证培训

 

  [jonolumb@jonoxps .ssh]# ssh-keygen -t rsa

 

  Generating public/private rsa key pair.

 

  Enter file in which to save the key (/home/jonolumb/.ssh/id_rsa):

 

  Enter passphrase (empty for no passphrase):

 

  Enter same passphrase again:

 

  Your identification has been saved in /home/jonolumb/.ssh/id_rsa

 

  Your public key has been saved in /home/jonolumb/.ssh/id_rsa.pub

 

  The key fingerprint is:

 

  h7:10:49:46:ab:2t:3b:a3:36:2z:15:56:d4:f2:b7:3d

 

  请注意,配置时密码要留为空白。南京RHCE认证培训

 

  将生成的 /home/jonolumb/.ssh/id_rsa.pub 的内容复制到远程服务器目录下,具体位置是:

 

  ~/.ssh/authorized_keys

 

  要保证远程的 authorized_keys 和 本地的 id_rsa 文件的权限均为 700。

 

  这样就可以自动登录到远程服务器了。南京RHCE认证培训

 

  配置 Firefox 使用代理

 

  创建了 SSH 隧道之后,就进入 Firefox 并打开:

 

  首选项 --> 高级 --> 连接设置

 

  选择“手动配置代理”并将其设定为:

 

  >HTTP 代理: localhost 端口: 9999

 

  注:本文是由英国留学生Jonathan用中文写的教学文章。南京RHCE认证培训

 

  Jonathan是英国人,在北京已经待了两年,然而他运用中文的能力却已经如此娴熟。另外,他还是一个铁杆Linux粉丝,他希望认识更多的中国Linux粉丝。一起相互学习和交流。


最近开班 more>
  • Web前端开发
  • 软件测试
  • 软件测试预科班
  • AI大模型+全栈开发开班
  • 云原生精英班
  • 云网预科班
  • 开发课程基础班第三期
  • 开发课程基础班第二期
  • 开发课程基础班第五期
  • Java全栈
  • CISP
  • HCIP-cloud
  • HCIE-Datacom(HCIA,HCIP基础)
  • HCIP-Datacom(HCIA基础)
  • HCIA-Datacom(0基础)
  • HCIE-Datacom(HCIA,HCIP基础)
  • HCIP-Datacom(HCIA基础)
  • HCIA-Datacom(0基础)
  • OCP 19C
  • RHCA
  • 6月9日
  • 5月21日
  • 5月14日
  • 6月9日
  • 5月7日
  • 5月26日
  • 5月19日
  • 5月12日
  • 6月3日
  • 6月9日
  • 随时开课
  • 7月12日
  • 5月19日
  • 5月19日
  • 5月7日
  • 5月10日
  • 5月24日
  • 5月24日
  • 随时开课
  • 随时开课
    • 姓 名 :
    • 电 话 :
    • 课 程 :

技术交流群

  • Java大数据交流群560819979加入
  • Python技术交流群595083299加入
  • Oracle技术交流群595119011加入
  • Web前端技术交流群604697610加入
  • Huawei技术交流群482919361加入
  • Redhat技术交流群587875348加入
  • UI设计技术交流群511649801加入
  • Cisco技术交流群596886705加入
  • IT运维技术交流群605888381加入