码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • Windows控制台ssh连接Linux,并且保持连接不断开


    文章目录

      • Windows控制台ssh连接Linux,并且保持连接不断开
        • 方法一: 连接参数加上 `-o ServerAliveInterval=30`
        • 方法2: 修改远端Linux的 `/etc/ssh/sshd_config` 配置
          • 用脚本一步设置保持连接
          • 配置项解释
            • `ClientAliveInterval` 向客户端发送心跳包的间隔时间,整数表示多少秒
            • `ClientAliveCountMax` 客户端无应答的最大次数
          • TCPKeepAlive yes | no
        • 方法3: 配置本机的OpenSSH客户端
          • 配置Windows的OpenSSH客户端
          • 配置Linux的OpenSSH客户端

    Windows控制台ssh连接Linux,并且保持连接不断开



    方法一: 连接参数加上 -o ServerAliveInterval=30

    ssh -o ServerAliveInterval=30 @

    ssh -o ServerAliveInterval=120 user@ip
    
    • 1

    或者

    ssh -o TCPKeepAlive=yes -o ServerAliveInterval=300 用户@域名或IP -p 端口
    
    • 1



    方法2: 修改远端Linux的 /etc/ssh/sshd_config 配置

    sudo vi /etc/ssh/sshd_config
    
    
    • 1
    • 2

    Ubuntu20.04默认的/etc/ssh/sshd_config的ClientAliveCountMax和ClientAliveInterval
    在这里插入图片描述在这里插入图片描述

    设为:

    ClientAliveInterval 120 -------------每120秒向客户都客户端发送心跳包
    ClientAliveCountMax 3 --------------客户端无响应次数达到,就自动断开连接

    复制粘贴

    ClientAliveInterval 120
    ClientAliveCountMax 3
    
    
    • 1
    • 2
    • 3

    esc:wq! 保存, 重启sshd

    sudo systemctl restart sshd
    
    • 1
    用脚本一步设置保持连接
    echo -e "\n### 保持客户端连接不断开的设置↓ \nClientAliveInterval 120\nClientAliveCountMax 3" | sudo tee -a /etc/ssh/sshd_config && sudo systemctl restart sshd ;
    
    
    • 1
    • 2
    echo -e "\n### 保持客户端连接不断开的设置↓ 于 $(date "+%Y-%m-%d %H:%M:%S") 设置 \nClientAliveInterval 120\nClientAliveCountMax 3" | sudo tee -a /etc/ssh/sshd_config && sudo systemctl restart sshd ;
    
    
    • 1
    • 2
    配置项解释
    ClientAliveInterval 向客户端发送心跳包的间隔时间,整数表示多少秒

    设置一个以秒记的时长,如果超过这么长时间没有收到客户端的任何数据,
    sshd 将通过安全通道向客户端发送一个”alive”消息,并等候应答。
    默认值 0 表示不发送”alive”消息。这个选项仅对SSH-2有效。

    ClientAliveCountMax 客户端无应答的最大次数

    sshd 在未收到任何客户端回应前最多允许发送多少个”alive”消息。默认值是 3 。
    到达这个上限后,sshd 将强制断开连接、关闭会话。
    需要注意的是,”alive”消息与 TCPKeepAlive 有很大差异。
    “alive”消息是通过加密连接发送的,因此不会被欺骗;而 TCPKeepAlive 却是可以被欺骗的。
    如果 ClientAliveInterval 被设为 15 并且将 ClientAliveCountMax 保持为默认值,
    那么无应答的客户端大约会在45秒后被强制断开。这个指令仅可以用于SSH-2协议。

    TCPKeepAlive yes | no

    该项使用TCP原生keepalive

    • 如果设置为yes(默认值),那么周期性地检查连接是否存活。
      当客户端崩溃或者由于其他原因导致连接死掉,那么该项检
      查会让ssh或scp连接断开,即便只是临时性的故障。
      这个选项在传输层(TCP)测试连接

    • 将该参数设置为no,会导致服务器不去检查连接是否存活。
      这项使用TCP的keepalive选项,未被加密,容易受到IP欺骗攻击
      经测试,只使用该项的话,还是会断开



    方法3: 配置本机的OpenSSH客户端

    配置Windows的OpenSSH客户端

    Windows 中的 OpenSSH - 什么是适用于 Windows 的 OpenSSH?
    Windows 中的 OpenSSH - 适用于 Windows 的 OpenSSH 入门

    Win10默认自带OpenSSH客户端 默认的位置在: “C:\Windows\System32\OpenSSH\ssh.exe” 👇
    Win10默认自带OpenSSH 默认的位置在:

    • scp.exe 是在 SSH 上运行的文件复制实用工具
    • sftp.exe,这是提供安全文件传输协议的服务,通过 SSH 运行
    • ssh.exe,它是在用户的本地系统上运行的 SSH 客户端组件
    • sshd.exe,它是远程所管理的系统上必须运行的 SSH 服务器组件
    • ssh-add.exe,将私钥添加到服务器允许的列表中
    • ssh-agent.exe,存储用于公钥身份验证的私钥
    • ssh-keygen.exe,为 SSH 生成、管理和转换身份验证密钥
    • ssh-keyscan.exe,帮助从许多主机收集公用 SSH 主机密钥
    配置Linux的OpenSSH客户端

    打开编辑 /etc/ssh/ssh_config 文件

    sudo vi /etc/ssh/ssh_config 
    
    • 1

    加入

    TCPKeepAlive yes
    ServerAliveInterval 120

    或者一步搞定

    echo -e "#远程控制台不断开\nTCPKeepAlive yes\nServerAliveInterval 120" | sudo tee -a /etc/ssh/ssh_config 
    
    
    • 1
    • 2
  • 相关阅读:
    2023.10.10 关于 线程安全 问题
    Linux学习命令之export
    java毕业设计离散制造业产品销售管理系统mybatis+源码+调试部署+系统+数据库+lw
    Mock接口测试
    Web of science,scopus,Google scholar的介绍和区别
    SpringCloud 服务限流与熔断
    SpringBoot的JSON工具类(java),用于前后端分离
    HTML标签
    kafka中partition数量与消费者对应关系以及Java实践(Spring 版本)
    GoLang:云原生时代致力于构建高性能服务器的后端语言
  • 原文地址:https://blog.csdn.net/kfepiza/article/details/126716852
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号