手抄报 安全手抄报 手抄报内容 手抄报图片 英语手抄报 清明节手抄报 节约用水手抄报

CentOS如何设置ssh保持长连接

时间:2024-10-19 19:45:25

1、如下面图中所示,显示的是一段时间没有操作后,被自动断开连接的ssh界面。我们知道ssh分为客户端和服务端,客户端使用ssh命令来连接到服务端的sshd进程上面,因此超时断开也分为两种情况,分别是:1. 客户端超时断开2. 服务端超时断开我们先来看客户端超时断开怎么解决。

CentOS如何设置ssh保持长连接

2、假设你在linux机器或mac机器上使用ssh连接到一台CentOS服务器上,这个时候就需要配置客户端ssh的超时操作了。配置文件的路径是:~/.ssh/config即你的家目录下的.ssh目录中,创建一个config文件。如下面图中所示:

CentOS如何设置ssh保持长连接

3、文件中的内容只有一行,内容是:ServerAliveInterval 120这行内容的含义是,每120s,客户端就向服务端发送一个空的包。让服务端认为客户端在线,因此就不会超时断开。当然,如果服务端设置的超时时间是60s,你这里设置的时间肯定要小于60s。不过服务端设置超时时间为60s的情况非常罕见,而且是出错的时候才会出现这种情况。所以这里设置为120s即可。

CentOS如何设置ssh保持长连接

4、此外,除了将这个参数写入配置文件固定起来以外,ssh客户端还支持临时设置这个参数,命令的用法是:ssh -o "ServerAliveInterval 60" ip_addressip_address指的是对应的服务器IP,如下面图中所示,这种情况下,会临时将这个链接设置为60*60=3600秒的时间不会出现超时断开的情况。比较适用于公网服务器,不需要修改公网服务器配置。

CentOS如何设置ssh保持长连接

5、下面我们再来看ssh的服务端超时情况,ssh服务端配置文件路径是:/etc/ssh/sshd_config我们使用vim编辑器打开这个配置文件。

CentOS如何设置ssh保持长连接

6、在这个配置文件里,我们需要关注的配置选项有3个,分别是:TCPKeepAlive yesClientAliveInterval 0ClientAliveCountMax 3可以看到这三个配置,默认情况下都是被注释起来的。这3个配置选项的含义分别是:是否保持TCP连接,默认值是yes。多长时间向客户端发送一次数据包判断客户端是否在线,默认值是0,表示不发送;发送连接后如果客户端没有响应,多少次没有响应后断开连接。默认是3次。

CentOS如何设置ssh保持长连接

7、第一个TCPKeepAlive默认值是yes,因此不用修改。需要修改的是下面的两个值,一般情况下的设置是:ClientAliveInterval 60ClientAliveCountMax 60即60s向客户端发送一次数据包,失败60次以后才会断开连接。也就是说如果什么都不操作,长达一个小时的时间才会断开连接。如果你觉得这个时间太短了,你还可以把第二个参数的值改成更大的值,比如说120,240这样的。

CentOS如何设置ssh保持长连接

8、上面两种情况,不管是修改客户端的配置,还是修改服务端的配置,在修改完成后,都需要重启sshd进程,让对应的配置生效。否则即使你修改了,依然会出现超时断开的情况。重启配置命令如下所示,我这里是CentOS 7.x版本,因此使用的是systemctl命令,重启速度非常快,而且正常重启时,不会有任何输出内容。如果是CentOS 6.x进程,可能就需要使用/etc/init.d/sshd 命令来重启了。

CentOS如何设置ssh保持长连接
© 手抄报圈