ubuntu22sshd服务保持连接的设置

专栏总目录

一、服务端

(一)打开配置文件

vi /etc/ssh/sshd_config

(二)更改选项

        将相关选项配置如下

ClientAliveInterval 60
ClientAliveCountMax 0
TCPKeepAlive yes

        修改完毕后,依次点击esc按键、w、q按键回车后推出。若无法正常推出可以在wq后增加 " ! " 强制推出。

设置参数的说明:

  1. ClientAliveInterval这个选项设置了一个时间间隔(以秒为单位),SSH服务器将在这个时间间隔内发送一个消息到客户端,以检查客户端是否仍然在线。默认情况下,这个选项是关闭的,即ClientAliveInterval 0。设置一个较大的值(例如60秒)可以确保客户端在失去连接之前仍然活跃。这对于保持长时间运行的SSH会话非常有用,尤其是在网络不稳定或者有防火墙在一段时间内没有数据传输就自动断开连接的情况下。

  2. ClientAliveCountMax这个选项设置了SSH服务器在认为客户端已经断开并关闭连接之前,可以发送多少个无响应的ClientAlive消息。如果设置为0,则服务器将不会根据客户端是否响应ClientAlive消息来断开连接。这意味着只要客户端保持连接开着,SSH会话就会一直保持,而不会因为客户端没有响应ClientAlive消息而被服务器断开。

  3. TCPKeepAlive这个选项与ClientAliveIntervalClientAliveCountMax不同,它使用TCP层面的保活消息来检查连接是否仍然有效。TCP保活是一种机制,用于检测一个空闲的TCP连接是否仍然有效。如果设置为yes,则SSH将使用TCP保活消息来探测客户端是否仍然可达。这有助于在网络层面上保持连接的活跃性,防止网络设备因长时间无数据传输而断开连接。

        这三个选项结合起来可以帮助保持SSH连接的稳定性,防止因网络问题或客户端无响应而导致的意外断开。不过,设置这些参数时也需要考虑到安全性,因为长时间的连接可能会增加被未授权访问的风险。

(三)重启服务

sudo systemctl restart sshd

二、客户端

        linux登陆ssh时候,可以增加下列参数

-o ServerAliveInterval=60 -o ServerAliveCountMax=300

        其中:

ServerAliveInterval表示每隔多少秒发送一次保持活动消息到服务端,这里设置为60秒;

ServerAliveCountMax表示发送多少次保持活动消息后断开连接,这里设置为300次。

这样设置后,客户端会定期向服务端发送保持活动消息,从而保持连接不会断开。

例如:

ssh username@ipaddress -p 22 -o ServerAliveInterval=60 -o ServerAliveCountMax=300

  • 3
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

静候光阴

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

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

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

打赏作者

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

抵扣说明:

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

余额充值