设置SSH 会话连接永远不超时

本文详细介绍如何修改服务器上的SSH配置文件,以实现更佳的安全性和连接稳定性。通过调整超时时间和重启SSH服务,确保远程连接更加高效可靠。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

更改服务器上 /etc/ssh/sshd_config 的 SSH 配置文件
原本的配置文件

  • 通过命令进入:
vim /etc/ssh/sshd_config
  • 去掉前面的注释#,然后设置时长
ClientAliveInterval 120  // 超时时间,10s
ClientAliveCountMax 720  // 超时次数,0次
  • 重启下ssh服务
systemctl start sshd
### SSH连接服务器超时的原因 SSH连接可能会因为多种因素导致超时,主要原因是客户端与服务器之间的长时间无活动状态触发了服务器端配置中的自动断开机制。当一段时间内没有任何数据传输发生时,为了节省资源并提高安全性,服务器会终止闲置的SSH会话[^1]。 ### 解决方案概述 针对SSH连接超时的情况,可以通过调整客户端和/或服务端的相关参数来延长保持时间或是定期发送心跳包以维持活跃状态。具体方法如下: #### 客户端设置KeepAlive选项 对于大多数Linux发行版以及macOS系统,默认情况下OpenSSH客户端已经启用了ServerAliveInterval这一功能,它允许客户端每隔一定间隔向服务器发送一次信号,防止因为空闲而被切断连接。如果该特性未开启,则可以在用户的`~/.ssh/config`文件中加入以下内容: ```bash Host * ServerAliveInterval 60 TCPKeepAlive yes ``` 这段配置意味着每分钟都会有一条消息发往服务器确认连接仍然有效,从而避免由于网络层面的问题造成意外掉线。 #### 修改服务器侧配置 除了修改客户端外,还可以考虑更改服务器上的sshd_config文件内的ClientAliveInterval值,这同样能够起到预防作用。编辑/etc/ssh/sshd_config并将下面两行添加进去(如果没有的话),随后重启SSH守护进程使改动生效: ```bash ClientAliveInterval 60 ClientAliveCountMax 3 ``` 上述设定表示每当超过一分钟没有收到任何来自客户的响应时就主动查询三次;只有连续三次都得到答复才会真正关闭此链接。 #### 使用tmux或screen工具 另一种有效的策略是在登录后立即启动像tmux或者GNU Screen这样的终端多路复用器程序。即使当前session中断也会影响正在运行的任务继续执行下去,并且下次重连回来还能恢复之前的环境[^2]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值