保持 SSH 会话处于活动状态 [关闭]
- 2024-10-12 10:28:00
- admin 原创
- 75
问题描述:
我用来ssh -p8520 username@remote_host
登录远程服务器。
问题:
当我在工作场所时,它始终处于连接状态并正常工作。不幸的是,当我从家里连接到远程服务器后,终端会在 10 - 15 分钟内冻结。
控制台上没有错误/超时报告,但光标无法再移动。
当进入w
检查登录用户时,发现有一些僵尸登录用户,我必须手动杀死它们。
这很烦人。有人能帮帮我吗?
解决方案 1:
运行在服务器端的 ssh 守护进程 (sshd) 会在客户端静默(即不发送信息)时从服务器端关闭连接。为了防止连接丢失,指示 ssh 客户端不时向服务器发送生命信号。
此配置位于文件中$HOME/.ssh/config
,如果不存在则创建该文件(配置文件必须不是全局可读的,因此请chmod 600 ~/.ssh/config
在创建文件后运行)。要每隔四分钟(240 秒)向远程主机发送一次信号,请在该配置文件中输入以下内容:
Host remotehost
HostName remotehost.com
ServerAliveInterval 240
要为所有主机启用发送保持活动信号,请将以下内容放入配置文件中:
Host *
ServerAliveInterval 240
解决方案 2:
我想要一个一次性的解决方案:
ssh -o ServerAliveInterval=60 myname@myhost.com
将其存储在别名中:
alias sshprod='ssh -v -o ServerAliveInterval=60 myname@myhost.com'
现在可以像这样连接:
me@MyMachine:~$ sshprod
解决方案 3:
对于那些想知道的人,@edward-coast
如果要为服务器设置保持活动,请将其添加到/etc/ssh/sshd_config
:
ClientAliveInterval 60
ClientAliveCountMax 2
ClientAliveInterval:设置一个超时间隔(以秒为单位),如果在此间隔之后没有从客户端收到任何数据,sshd(8) 将通过加密通道发送一条消息,请求客户端做出响应。
ClientAliveCountMax:设置 sshd(8) 不从客户端收到任何消息的情况下可以发送的客户端活动消息数量(见下文)。如果在发送客户端活动消息时达到此阈值,sshd 将断开客户端连接,终止会话。
解决方案 4:
仅供参考,Putty 用户可以在此处设置选项
解决方案 5:
我们可以通过以下全局配置来保持我们的 ssh 连接处于活动状态
在文件中添加以下行/etc/ssh/ssh_config
:
ServerAliveInterval 60
- 2024年20款好用的项目管理软件推荐,项目管理提效的20个工具和技巧
- 2024年开源项目管理软件有哪些?推荐5款好用的项目管理工具
- 项目管理软件有哪些?推荐7款超好用的项目管理工具
- 项目管理软件哪个最好用?盘点推荐5款好用的项目管理工具
- 项目管理软件有哪些最好用?推荐6款好用的项目管理工具
- 项目管理软件有哪些,盘点推荐国内外超好用的7款项目管理工具
- 2024项目管理软件排行榜(10类常用的项目管理工具全推荐)
- 项目管理软件排行榜:2024年项目经理必备5款开源项目管理软件汇总
- 2024年常用的项目管理软件有哪些?推荐这10款国内外好用的项目管理工具
- 项目管理必备:盘点2024年13款好用的项目管理软件