0

0

打造家里7*24小时在线的SSH代理

php中文网

php中文网

发布时间:2016-06-07 16:29:19

|

1510人浏览过

|

来源于php中文网

原创

实现此功能,主要是为了充分压榨和利用家里的PT下载机,让家里的其他网络设备能够通过共享出来的socket5代理平滑的上网,你懂的 我们都知道,SSH支持端口转发,能够把当前连接状态的SSH,共享为socket5代理,主要就是使用到ssh命令的-D参数。另外,在Linux/U

实现此功能,主要是为了充分压榨和利用家里的pt下载机,让家里的其他网络设备能够通过共享出来的socket5代理“平滑的”上网,你懂的……

我们都知道,SSH支持端口转发,能够把当前连接状态的SSH,共享为socket5代理,主要就是使用到ssh命令的-D参数。另外,在Linux/Unix平台下,一般运行SSH命令,是需要输入密码的,我们需要做一些设置,让SSH能够通过public key来验证,从而省去输入密码的繁琐步骤。如果你用的是windows平台,那就方便多了,推荐使用Tunnelier这个软件,不但可以保存SSH用户名和密码,还可以自动断线重连。使用此工具,你可以忽略掉此文了……

下面介绍一下Linux/Unix下通过public key验证SSH登录的步骤:

1. 需要在你的客户端机器生成public key,通过如下命令来实现:

ssh-keygen -t rsa

跟着提示,一步一步按回车,就可以生成一对key,包含private key和public key,然后,通过scp/SFTP/rsync/FTP 等等方式,把这个含有public key的文件: id_rsa.pub上传到你的SSH连接的服务端上去。

2. SSH连接到服务端,设置SSH验证的方式,把SSH配置文件中的下面两项的注释去掉,使其生效:

PubkeyAuthentication yes
AuthorizedKeysFile      .ssh/authorized_keys

开启public key验证,并且指定了key存放的路径,比如,你如果用用户名user1登录SSH,就得把上面提到的public key file: idrsa.pub 上传到服务器上的 /home/user1/.ssh/ 并改名叫做authorizedkeys

步骤操作完成之后,重启一下sshd服务,然后客户端就可以通过public key来连接SSH了。

搞定上面的两步,我们可以编辑一个shell文件,比如叫做AutoSSH.sh,内容如下:

/usr/bin/ssh -p 24 -N -D 0.0.0.0:7070 user1@YourDomain.com &

赋予脚本可执行权限,然后执行,你会发现SSH自动连接成功,并且会在本机监听7070端口,这就是一个socket5代理了,然后充分发挥你的智慧,该干嘛干嘛去,比如Firefox+AutoProxy,或者Chrome+Proxy SwitchySharp,等等…… 哥就不细说了……

这里需要注意的是,-D后的IP,必须是0.0.0.0,这样,这个socket5代理才能被家里局域网中的其他机器访问到,不然,默认只监听本机的127.0.0.0:7070,其他机器是访问不了的!

本文貌似要接近尾声了,不过,你用了一段时间后,会发现一个比较严肃的问题,这个SSH貌似一段时间连上能用,过了一段时间就自动断开了,你不得不一次又一次的手动运行这个脚本。

家政网在线管理系统
家政网在线管理系统

经过多家家政公司实际运作,并参照目前市面上流行的家政管理软件精心打造的一套管理平台,专业化的后台管理能让您处理繁琐的小事更加轻松,前台和后台的无缝链接处处体现网络的巨大威力,全国首创的多人在线预订系统,系统首次提供候选名额,让您一次预订,多人受约,成交概率大幅提高,首次使用网络蜘蛛技术,定时搜集全国各地及时发布的家政信息,智能化处理后即时加入系统数据库

下载

这是咋回事呢? 原来,SSH是默认有一个空闲时间的,当客户端没有操作处于一定的空闲时间,服务端就会主动断开SSH连接。

在SSH服务端的配置文件中,有两个参数,分别叫做:ClientAliveInterval 和 ClientAliveCountMax,这个就是用来控制最大闲置时间的。

ClientAliveInterval 数值是秒,比如你设置为300,就是5分钟.

ClientAliveCountMax 指如果发现客户端没有相应,则判断一次超时,这个参数设置允许超时的次数。比如:

ClientAliveInterval 300
ClientAliveCountMax 5;

则代表允许超时 1500秒 =25分钟

通过更改数值大小,能保证SSH连接最大闲置时间。不过感觉这样的方式还是不太靠谱,一旦网络遇到问题,或者其他原因导致SSH连接端口,你还是得手动去运行那个连接SSH的脚本。

既然这样,我们还是自己动手,丰衣足食一下,俺顺带用ruby写了个检测SSH连接是否断开,并且自从运行SSH连接脚本的简单程序:

#!/usr/local/rvm/bin/ruby
#AutoSSH.rb
#Written by Timothy 2012.11.19
#Run it with: ruby AutoSSH.rb &
lambda{
PORT_NUM = "0.0.0.0:7070"
GREP_STR = "netstat -anp|grep #{PORT_NUM}"
SHELL_PATH = "/root/AutoSSH/AutoSSH.sh &"
pipe = IO.popen(GREP_STR)
result = pipe.gets
if((result != nil)  && (result.include? PORT_NUM))
    return
else
    p 'SSH is disconnected! Will reconnect it!'
    system SHELL_PATH
end
}.call

这个程序的功能,就是检测0.0.0.0:7070 是否还在监听。你或许需要根据你的需求,配置一下AutoSSH.sh文件的路径,然后,把这个脚本加到系统的定时任务里面去,让它每一分钟执行并检测一次,若是遇到SSH连接端口,会立马重新连接SSH的。如果你机器没有配置ruby环境,可以google一下如何安装ruby。

大功告成,到此,你就有了一个7*24小时不断网的SSH代理,供家里其他的机器同时使用。

声明: 此Blog中的文章和随笔仅代表作者在某一特定时间内的观点和结论,对其完全的正确不做任何担保或假设
本站文章均采用 知识共享署名-相同方式共享3.0 协议进行授权,除非注明,本站文章均为原创,转载请注明转自 Timothy's Space 并应以链接形式标明本文地址!

相关专题

更多
苹果官网入口直接访问
苹果官网入口直接访问

苹果官网直接访问入口是https://www.apple.com/cn/,该页面具备0.8秒首屏渲染、HTTP/3与Brotli加速、WebP+AVIF双格式图片、免登录浏览全参数等特性。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

115

2025.12.24

拼豆图纸在线生成器
拼豆图纸在线生成器

拼豆图纸生成器有PixelBeads在线版、BeadGen和“豆图快转”;推荐通过pixelbeads.online或搜索“beadgen free online”直达官网,避开需注册的诱导页面。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

82

2025.12.24

俄罗斯搜索引擎yandex官方入口地址(最新版)
俄罗斯搜索引擎yandex官方入口地址(最新版)

Yandex官方入口网址是https://yandex.com。用户可通过网页端直连或移动端浏览器直接访问,无需登录即可使用搜索、图片、新闻、地图等全部基础功能,并支持多语种检索与静态资源精准筛选。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

546

2025.12.24

JavaScript ES6新特性
JavaScript ES6新特性

ES6是JavaScript的根本性升级,引入let/const实现块级作用域、箭头函数解决this绑定问题、解构赋值与模板字符串简化数据处理、对象简写与模块化提升代码可读性与组织性。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

150

2025.12.24

php框架基础知识汇总
php框架基础知识汇总

php框架是构建web应用程序的架构,提供工具和功能,以简化开发过程。选择合适的框架取决于项目需求和技能水平。实战案例展示了使用laravel构建博客的步骤,包括安装、创建模型、定义路由、编写控制器和呈现视图。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

20

2025.12.24

Word 字间距调整方法汇总
Word 字间距调整方法汇总

本专题整合了Word字间距调整方法,阅读下面的文章了解更详细操作。

47

2025.12.24

任务管理器教程
任务管理器教程

本专题整合了任务管理器相关教程,阅读下面的文章了解更多详细操作。

7

2025.12.24

AppleID格式
AppleID格式

本专题整合了AppleID相关内容,阅读专题下面的文章了解更多详细教程。

12

2025.12.24

csgo视频观看入口合集
csgo视频观看入口合集

本专题整合了csgo观看入口合集,阅读下面的文章了知道更多入口地址。

371

2025.12.24

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
SciPy 教程
SciPy 教程

共10课时 | 0.9万人学习

【web前端】Node.js快速入门
【web前端】Node.js快速入门

共16课时 | 1.9万人学习

国外Web开发全栈课程全集
国外Web开发全栈课程全集

共12课时 | 0.9万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号