我的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”的问题?所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)