0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

保持SSH会话不掉线

马哥Linux运维 来源:马哥Linux运维 2023-05-05 10:41 次阅读

1. 概览

有多少次,我们想要保持SSH会话一直处于连接状态,以保持应用程序运行,或者只是避免在返回我们使用的SSH窗口时感到沮丧。在本教程中,你将获得如何通过防止SSH会话超时,直到你关闭终端窗口。

2. 为什么SSH会关闭连接?

我们为了使用SSH登录到服务器上,目的服务器上的守护进程(sshd)一定是保持运行状态。如果SSH客户端一段时间没有发送到目的服务器,服务器会在超过一段时间后关闭连接。

为了防止关闭SSH连接,我们可以在客户端或者服务端进行配置。

3. 设置配置文件

有几个配置文件可以修改,以保持SSH会话的连接,避免超时。要看是从客户端配置还是服务端配置。

3.1 客户端配置

客户端文件位置

$HOME/.ssh/config

如果我们使用使用cat $HOME/.ssh/config,可能会得到一个错误信息 “no file found”。

$ cat $HOME/.ssh/config
cat: /.ssh/config: No such file or directory

如果我们看到这个错误消息,意味着我们需要手动创建这个配置文件。如果.ssh目录不存在,首先创建.ssh目录,使用命令mkdir $HOME/.ssh来创建目录,如果提示目录已经存在,我们将会看到一个消息 “File exists”,请忽略即可;如果目录创建成功,我们不会看到任何输出信息。

$ mkdir $HOME/.ssh
然后创建配置文件touch $HOME/.ssh/config
$ touch $HOME/.ssh/config

一旦我们创建好配置文件,我们还需要使用chmod修改配置文件的权限,不能让所有人都可以编辑这个配置文件。

$ chmod 600 $HOME/.ssh/config

现在我们可以任何编辑器来编辑这个配置文件了,比如nano或者vim,在终端使用vim $HOME/.ssh/config打开配置文件。

现在让我们来添加一些配置信息到配置文件里面。在vimi进入编辑模式,然后输入下面的内容:

Host example
    Hostname example.com
    ServerAliveInterval 240

上面的配置信息,仅在SSH会议连接到example这个域的时候才会生效。

ServerAliveInterval设置了客户端在发送保持连接信号之前的等待时间。

然后按ESC键,进入vim的命令模式,连续输入:wq保存退出vim编辑器。

另外可以把example换成*来指定所有的域的配置

Host *
    ServerAliveInterval 240

我们可以使用上面同样的步骤来编辑和保存配置文件。

3.2. 服务端配置文件

在某些情况下,我们可能可以访问服务器上的配置文件。如果是这种情况,我们可以配置何时希望服务器关闭SSH连接。

在服务器上编辑配置文件的过程与客户端配置文件类似,但有一些不同。

首先,服务器端配置文件的文件位置是/etc/ssh/sshd_config

现在我们使用 vim 把ClientAliveInterval添加到配置文件,注意,这里是"Client"而不是"Server",跟上面客户端的配置是不一样的。

  ClientAliveInterval 60

ClientAliveInterval是以秒为单位指定的超时间隔。如果服务器从客户端接收数据的时间超过了超时间隔,则服务器将向客户端发送请求响应的消息。

3.3. 为什么不设置为从不断开连接?

虽然将SSH会话设置为永不断开可能很诱人,但在某些情况下,我们更明智的做法是为SSH设置超时。

如果我们连接的服务器是我们自己维护的服务器,那么设置超时可能没有充分的理由。然而,如果我们在AWS E3这样的平台上托管我们的服务器,如果我们不设置超时,代价可能会很高。许多云托管平台使用服务器时每分钟收费,即使我们不积极使用SSH会话,保持SSH会话持续运行也会增加成本。

要在客户端上配置超时,我们可以在与上面相同的配置文件中使用ServerAliveCountMax配置项来设置尝试的次数:

Host *
    ServerAliveInterval 240
    ServerAliveCountMax 2

客户端继续每240秒发送一次信号,客户端现在还将侦听来自服务器的信号。如果它两次执行ServerAliveInterval而没有收到信号,它将关闭SSH会话。

同样的,我们可以在服务器上做同样的配置:

  ClientAliveInterval 60
  ClientAliveCountMax 2

注意,服务器上的配置没有Host *的配置项

4. 结论

在本文中,我们学习了如何在客户端和服务器端计算机上创建SSH设置的配置文件。然后,我们研究了哪些配置可以防止SSH会话超时。最后,总结一下我们不应该将SSH会话设置为永不断开的一些原因。


审核编辑 :李倩


声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 服务器
    +关注

    关注

    12

    文章

    8125

    浏览量

    82557
  • 客户端
    +关注

    关注

    1

    文章

    282

    浏览量

    16348
  • SSH
    SSH
    +关注

    关注

    0

    文章

    177

    浏览量

    16081

原文标题:保持SSH会话不掉线

文章出处:【微信号:magedu-Linux,微信公众号:马哥Linux运维】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    树莓派无线网卡老是掉线是怎么回事?

    通,此时ssh终端有反应,ping值在70毫秒左右如果一直用则网络不会掉线,大家有遇到过这种情况吗?我怀疑是树莓派的无线网卡在没有网络通讯的时候自动sleep了求解决。。。
    发表于 09-15 10:57

    什么是 SSH(secure shell)

    Working Group)所制定;SSH 为建立在应用层和传输层基础上的安全协议。SSH 是目前较可靠,专为远程登录会话和其他网络服务提供安全性的协议。利用 SSH 协议可以有效防
    发表于 09-21 18:49

    推荐使用集串口,SSH远程登录和FTP传输三合一工具MobaXterm

    左上角的Session(会话控制),在弹出的窗口中选择SSH,如图2.22和2.23所示。图2.22选择Session图2.23选择SSHb)在弹出操作框里,输入主机IP和端口号(默认22),然后
    发表于 10-31 09:39

    如何彻底屏蔽以太网芯片干扰保证网络不掉线

    掉一次线),希望高手们能不能提供什么解决方法,彻底屏蔽掉其对芯片的影响,保证网络不掉线(增加电容电感等方法以及试过了,另外还在芯片上盖上了锡箔纸,还是会产生影响,)
    发表于 09-17 22:35

    SSH定义及应用

    学习完本课程,您应该能够:了解SSH定义及应用。掌握SSH和SFTP工作原理,掌握SSH和SFTP应用,掌握SSH和SFTP的配置及维护。
    发表于 04-12 17:38 12次下载

    对目前流行的ssh密码暴力破解工具进行实战研究、分析和总结

    Group)所制定;SSH 为建立在应用层基础上的安全协议。SSH 是目前较可靠,专为远程登录会话和其他网络服务提供安全性的协议。
    的头像 发表于 01-29 15:10 5.3w次阅读
    对目前流行的<b class='flag-5'>ssh</b>密码暴力破解工具进行实战研究、分析和总结

    灵动轻办公,全时不掉线——全新HUAWEI MateBook E正式发布

    在连接、天线、射频等领域多年的技术积累,成功将这项体验带到了PC上。 此次发布的全新HUAWEI MateBook E特别为经常在外办公、工作场所不受限的移动办公人群打造,适用于所有期待开机即联网、黑屏不掉线的高效工作及生活方式人群。内置4G LTE,插入Nano-SIM卡即可实现智
    发表于 04-12 21:34 471次阅读

    SSH服务器应用程序免费下载

    SSH 为 Secure Shell 的缩写,由 IETF 的网络小组(Network Working Group)所制定;SSH 为建立在应用层基础上的安全协议。SSH 是较可靠,专为远程登录
    发表于 11-25 08:00 1次下载
    <b class='flag-5'>SSH</b>服务器应用程序免费下载

    DS18B20 稳定搜索20个ROM,不重复,不掉线

    DS18B20 稳定搜索20个ROM,不重复,不掉线源程序COPY地 再次感谢 sandeepin 作者https://blog.csdn.net/sandeepin/article
    发表于 01-17 09:49 6次下载
    DS18B20 稳定搜索20个ROM,不重复,<b class='flag-5'>不掉线</b>

    SSH第1部分:配置SSH以安全连接到远程设备

    ® /UNIX 环境和网络设备建立安全的命令行会话。随着物联网 (IoT) 设备的激增,设置 SSH 以启用安全登录比以往任何时候都更有用。
    的头像 发表于 01-03 09:45 820次阅读

    为何SSH会话不能设置为永不断开?

    今天浩道跟大家分享运维工作中常常被大家忽略的SSH会话中断背后的一些知识点!
    的头像 发表于 05-08 18:16 694次阅读

    SSH命令详解

    ssh是一种安全的远程登录及传输协议。ssh可用于远程登录、远程文件传输等。ssh是安全的shell。
    的头像 发表于 06-02 10:00 5864次阅读
    <b class='flag-5'>SSH</b>命令详解

    地平线旭日X3派试用 | ssh密钥登陆 蓝牙手柄连入ros

    SSH为建立在应用层基础上的安全协议,专为远程登录会话和其他网络服务提供安全性的协议,利用 SSH 协议可以有效防止远程管理过程中的信息泄露问题……
    的头像 发表于 12-08 16:18 698次阅读
    地平线旭日X3派试用 | <b class='flag-5'>ssh</b>密钥登陆 蓝牙手柄连入ros

    Serial、SSH、Rlogin、Telnet、Raw协议介绍

    SSH是较可靠,专为远程登录会话和其他网络服务提供安全性的文件传输协议。建立在应用层和传输层基础上。利用SSH协议可以有效防止远程管理过程中的信息泄露问题。
    的头像 发表于 12-05 09:55 873次阅读

    怎么用SSH密钥登陆vps?

    使用SSH密钥登录VPS(Virtual Private Server)是一种更安全和方便的方式,相比使用密码,SSH密钥更难被破解。以下是在Linux系统上使用SSH密钥登录VPS的基本步骤
    的头像 发表于 02-20 16:29 266次阅读