• 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

  • 相关阅读:
    【状语从句练习题】although vs but
    在vue项目中使用TS
    Git
    【大麦小米学量化】使用文心一言AI编写股票量化交易策略代码(含演示代码和进阶演示)
    React之事件机制与事件绑定
    第2-3-6章 打包批量下载附件的接口开发-文件存储服务系统-nginx/fastDFS/minio/阿里云oss/七牛云oss
    Monaco Editor教程(七): 实现版本对比功能
    当软件定义汽车成为趋势,未来汽车是否可以理解为四个轮子上的超级计算机?
    Java调试谷歌PC浏览器,控制操作网页
    基于springboot的计算机类考研交流平台(源码+论文)
  • 原文地址:https://blog.csdn.net/lstef/article/details/140094533