如何解决“SSH连接意外被远程closures”的问题?

如何解决“SSH连接意外被远程closures”的问题?,第1张

概述如何解决“SSH连接意外被远程closures”的问题?

我的configuration:

仅用于Jenkins(2.7.1)的专用服务器(Ubuntu 16.04 LTS)

超过100多个Jenkins作业,每个调用stream浪的实例到AWS( Vagrantfile ),

每个工作(规定脚本)可能需要1-2个小时才能运行,

大多数服务器configuration文件(如SSH)都具有默认的系统configuration。

当我同时运行多个Jenkins实例时,它们更有可能失败并出现此错误:

00:00:00.774 + vagrant up --no-provision --destroy-on-error --provIDer=aws 00:00:09.635 Bringing machine 'MT-aws' up with 'aws' provIDer... ... 00:01:16.498 MT-aws: Running: inline script ... 00:01:26.415 ==> MT-aws: + echo 00:01:26.415 ==> MT-aws: + sleep 20 00:01:26.427 The SSH connection was unexpectedly closed by the remote end. This 00:01:26.427 usually indicates that SSH within the guest machine was unable to 00:01:26.427 properly start up. Please boot the VM in GUI mode to check whether 00:01:26.427 it is booting properly. 00:01:26.625 Build step 'Execute shell' marked build as failure

事实:

供应脚本随机失败(在失败之前没有特定的代码),

服务器不会超载,并有大量的可用RAM和访问Gbitnetworking,

我平行的工作越多,失败的机会就越多,

单独重新运行相同的工作通常工作正常,

/etc/ssh/ssh_config默认设置,Jenkins的~/.ssh/config 。

如何解决上述问题与SSH 意外closures ?

Laravel Homestead SSH远程共享问题

windows中的Vagrant ssh:ssh_exchange_IDentification

将Vagrant linux VM与运行Ansible的另一个Vagrant linux VM配合使用

Java:有没有办法运行系统命令并在执行过程中输出输出?

在windows主机上使用Vagrant运行厨师食谱:SSH问题

我是否需要增加一些SSH超时设置或其他的东西?

如何使用Nginx rtmp模块restream一个udp直播stream?

Ubuntu上的Nginx:权限被拒绝

windows工作stream程:使用Visual Express版本开发

基于Git的网站部署工作stream程

如何重置windows Emacs Tramp?

打开你的/etc/ssh/sshd_config文件:

# vi /etc/ssh/sshd_config

修改设置如下:

ClIEntAliveInterval 30 ClIEntAliveCountMax 5

哪里,

ClIEntAliveInterval :设置一个超时时间间隔,以秒为单位(30),如果没有从客户端收到数据,sshd将通过加密通道发送消息请求客户端的响应。 默认值是0,表示这些消息不会被发送到客户端。 该选项仅适用于协议版本2。

ClIEntAliveCountMax :设置可能发送的客户端活动消息的数量(5),而不用sshd从客户端收回任何消息。 如果在发送客户端活动消息时达到此阈值,则sshd将断开客户端,终止会话。

关闭并保存文件,然后重新启动sshd ,例如:

# /etc/init.d/ssh restart

要么:

# service sshd restart

另一个选项是在客户端(工作站)的ssh_config文件中启用serverAliveInterval ,例如

# vi /etc/ssh/ssh_config

然后追加/修改值如下:

serverAliveInterval 30 serverAliveCountMax 5

哪里,

serverAliveInterval :设置以秒为单位的超时时间,如果没有收到服务器的数据,ssh将通过加密的通道发送一条消息来请求服务器的响应。

在上面的示例中, serverAliveInterval设置为15, serverAliveCountMax保留在3,如果服务器无响应,ssh将在大约45秒后断开连接。 这个选项同样适用于协议版本2。

另一种方法,如Chris Roberts所建议的,将一个SSH keep_alive行添加到Vagrantfile

config.vm.ssh.keep_alive = true

这将默认每5秒发送一次SSH保持活动数据包,以保持连接活着。

请参阅: config.ssh相关设置以获取更多信息。

总结

以上是内存溢出为你收集整理的如何解决“SSH连接意外被远程closures”的问题?全部内容,希望文章能够帮你解决如何解决“SSH连接意外被远程closures”的问题?所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/1285604.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-09
下一篇 2022-06-09

发表评论

登录后才能评论

评论列表(0条)

保存