Linux 下 SSH 远程超时解决方案
Linux 下 SSH 远程超时解决方案
今天突然看到一个问题说是如何解决SSH远程超时的问题。
找了一点资料。用于解决这个需求~
第一种:OpenSSH 配置文件设置
位于112行的 "ClientAliveInterval "以及位于113行的"ClientAliveCountMax"意义解释如下:
- ClientAliveInterval:即The length of time Server Sent Client ,服务器发给客户端时间间隔。
- ClientAliveCountMax:即Server Sent Client NOT REPLY,服务器发给客户端,客户端无响应。
俩行,简单说就是:一个决定多久找你,一个决定找你次数。
注意要重启SSH服务才能生效。如果上种你觉得不能理解或者不能体现水平。看下面这种~
第二种: Shell 脚本编写实现永不超时
首先,欣赏这行代码:
1、#!/usr/bin/expect
告诉操作系统脚本里的代码使用那一个shell来执行
2、set timeout 60s
使用了set命令设置了超时时间为60s。
3、spawn ssh user@host
首先spawn是expect内部命令。作用就是给ssh新进程创建新expect,用来传递交互指令也实现了让expect控制的用处!
4、interact
交互命令,用来打开用户与产生进程之间通信的命令。
5、send
用于expect 脚本正在监控的进程生成输入。send合并选项以发送给指定的产生的过程"-i",缓慢地发送"-s"(在串行通信中,为了不使缓冲区溢出)
关于expect:
export命令用于将shell变量输出为环境变量,或者将shell函数输出为环境变量,同时它也可以传递。说到底就是一个脚本语言,可以帮助系统管理员进行自动终端交互的好朋友.
第三种:环境变量临时改变
同样你也可以写入$HOME/.profile文件,永久生效!
最后:
你来想想,我们还有第四种吗?想想服务器要检测客户端还活着没,客户端能看些啥?
试试“ping”吧,也许你还有第四种~
(完)
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 【杭电多校比赛记录】2025“钉耙编程”中国大学生算法设计春季联赛(1)