如何解决ssh远程连接自动断开的问题


1. 问题描述

SSH 远程连接断开是一个常见的问题,尤其是在网络不稳定或长时间没有活动时。文本介绍一些常见的方法和技巧来保持 SSH 连接稳定和避免断开。

2. 配置SSH设置

SSH远程连接断开是一个常见的问题,尤其是在网络不稳定或长时间没有活动时。以下是一些常见的方法和技巧来保持 SSH 连接稳定和避免断开:

2.1 调整服务器端的设置

在服务器上修改 SSH 配置文件 sshd_config

sudo vim /etc/ssh/sshd_config

找到以下两行并取消注释或添加它们:

ClientAliveInterval 30
ClientAliveCountMax 6
  • ClientAliveInterval: 服务器向客户端发送保持活动请求的时间间隔(秒)。
  • ClientAliveCountMax: 服务器在断开连接前允许的最大未响应请求数。

例如,上述设置表示每30秒发送一次心跳包,如果6次都没有响应(大约3分钟),则断开连接。

保存并关闭文件,然后重启 SSH 服务:

sudo systemctl restart sshd

2.2 调整客户端的设置

在客户端的 SSH 配置文件 ssh_config 中进行设置:

vim ~/.ssh/config

添加以下内容:

Host *
    ServerAliveInterval 30
    ServerAliveCountMax 6
  • ServerAliveInterval: 客户端向服务器发送保持活动请求的时间间隔(秒)。
  • ServerAliveCountMax: 客户端在断开连接前允许的最大未响应请求数。

3. 调整用户断开时长

TMOUT 的含义:

  • TMOUT 变量表示 shell 会话的自动注销时间(以秒为单位)。
  • 如果一个交互式 shell 会话在指定的时间内没有任何输入活动,则会自动注销该会话。

以下是在 /etc/profile 文件中设置 TMOUT 的示例:

# 编辑 /etc/profile 文件
sudo vim /etc/profile

# 在文件中添加以下行
TMOUT=6000

上面的配置表示,如果 shell 会话在 6000 秒(100 分钟)内没有任何活动,它将自动注销。

修改 /etc/profile 文件后,手动加载配置文件来应用更改:

# 手动加载 /etc/profile
source /etc/profile

注意事项/etc/profile 文件中的设置对系统上的所有用户都生效。如果只想为某个特定用户设置 TMOUT,可以在该用户的 ~/.bashrc~/.bash_profile 文件中进行设置。


欢迎关注本人,我是喜欢搞事的程序猿; 一起进步,一起学习;

欢迎关注知乎/CSDN:SmallerFL

也欢迎关注我的wx公众号(精选高质量文章):一个比特定乾坤

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

SmallerFL

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值