Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/ssh/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/visual-studio-2010/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ssh 用于自动web应用部署的结构脚本不再适用于Jelastic版本4.9_Ssh_Fabric_Paramiko_Jelastic - Fatal编程技术网

Ssh 用于自动web应用部署的结构脚本不再适用于Jelastic版本4.9

Ssh 用于自动web应用部署的结构脚本不再适用于Jelastic版本4.9,ssh,fabric,paramiko,jelastic,Ssh,Fabric,Paramiko,Jelastic,我已经开发了几个脚本,可以在Jelast环境中自动部署我的web应用程序。直到今天,这些脚本每次都运行得非常完美。这个问题让我感到困惑,因为自从上次成功执行以来,我的脚本和环境都没有改变;唯一值得注意的变化是,我的Jetlastic提供商(ServNet Mexico)现在运行的是Jetlastic平台的4.9版 我的本地环境: 视窗10 Python 2.7 Fabric 1.13.1(最新版本,我今天对它进行了升级,以查看它是否会有所不同) Paramiko 2.1.1(由PIP作为结构依

我已经开发了几个脚本,可以在Jelast环境中自动部署我的web应用程序。直到今天,这些脚本每次都运行得非常完美。这个问题让我感到困惑,因为自从上次成功执行以来,我的脚本和环境都没有改变;唯一值得注意的变化是,我的Jetlastic提供商(ServNet Mexico)现在运行的是Jetlastic平台的4.9版

我的本地环境:

  • 视窗10
  • Python 2.7
  • Fabric 1.13.1(最新版本,我今天对它进行了升级,以查看它是否会有所不同)
  • Paramiko 2.1.1(由PIP作为结构依赖项安装)
我在另外两台机器上遇到了完全相同的问题,都是MacOS Sierra和等效的Python和Fabric设置,但是Fabric包的旧版本(及其依赖项)在几天前还可以正常工作

在结构外部,通过PuTTY(在Windows上)和终端(MacOS)的SSH访问正常工作。最近发生了变化的一件事是,在远程会话开始时会显示一个身份验证横幅(它警告SSH访问的危险,如下所示)。我怀疑这和我的问题有什么关系

按照建议,我为fab命令启用了--show=debug标志,并为Paramiko启用了日志记录。我的命令窗口上的输出如下所示(我省略了一些可能被视为私有和敏感的行,据我所知,这些行不提供有关当前问题的相关信息):

命令行提示符>fab--show=debug my_任务
正在使用fabfile“”
要运行的命令:我的任务
现在使用池大小为0的并行任务
现在使用池大小为10的并行任务
[]运行:/bin/bash-l-c“cd/var/lib/jelast/backup&&rm-f”
调试:paramiko.transport:启动线程(客户端模式):0x3cd61d0L
调试:paramiko.transport:本地版本/idstring:SSH-2.0-paramiko_2.1.1
调试:paramiko.transport:远程版本/idstring:SSH-2.0-JSSHProxy
信息:paramiko.transport:Connected(版本2.0,客户端JSSHProxy)
调试:paramiko.transport:kex算法:[u'ecdh-sha2-nistp256',u'ecdh-sha2-nistp384',u'ecdh-sha2-nistp521',u'diffie-hellman-group14-sha1',u'diffie-hellman-group1-sha1']服务器密钥:[u'ssh-rsa']客户端加密:[u'aes128-ctr u'aes192-ctr',u'aes256-ctr',u'aes128-gcm@openssh.com“,u'arcfour256',u'arcfour128']服务器加密:[u'aes128-ctr',u'aes192-ctr',u'aes256-ctr',u'aes128-gcm@openssh.com“,u'arcfour256',u'arcfour128']客户端mac:[u'hmac-sha1',u'hmac-sha1-96']服务器mac:[u'hmac-sha1',u'hmac-sha1-96']客户端压缩:[u'none']服务器压缩:[u'none']客户端语言:[u']服务器语言:[u']kex如下?False
调试:paramiko.传输:Kex同意:diffie-hellman-group1-sha1
调试:paramiko.传输:同意密码:aes128 ctr
调试:paramiko。传输:MAC同意:hmac-sha1-96
调试:paramiko.传输:压缩:无
调试:paramiko.transport:kex引擎KexGroup1指定的哈希算法
调试:paramiko.transport:切换到新密钥。。。
调试:paramiko.transport:为[gate.jl.serv.net.mx]:3022添加ssh rsa主机密钥:
调试:paramiko.transport:正在尝试SSH代理密钥
调试:paramiko.transport:userauth正常
信息:帕拉米科。交通:授权横幅:
欢迎来到Jelastic shell
此shell将帮助您管理Jelast应用程序。
===================================================请注意==============================
Shell访问功能非常强大,您可能会意外损坏应用程序。
因此,请特别注意您在这里执行的操作。
===================================================请注意==============================
信息:paramiko。传输:身份验证(公钥)成功!
调试:paramiko.transport:[chan 0]最大数据包长度:32768字节
调试:paramiko.transport:[chan 0]最大数据包输出:32768字节
调试:paramiko。传输:已打开Secsh通道0。
调试:paramiko.transport:[chan 0]Sesch通道0请求正常
此时结构任务挂起。没有进一步的输出,没有任何类型的成功或失败消息,没有超时,没有任何可能发生的情况的指示。结构任务的命令本身也不会运行,因为结构任务所针对的Jelast节点上不会产生预期的效果(我所做的最简单的任务就是用rm命令删除一些备份文件;我开发的其他任务更复杂,它们也不会运行。)

我倾向于认为这个问题与新的(4.9)Jelast版本或它在我的Jelast提供商的基础设施上的特定部署有关。不幸的是,我的提供商在我向他们寻求帮助时没有提供帮助


如果您能提供任何可能发生的事情的线索,我将不胜感激。

您可以尝试使用option-keepalive=5..10连接。这可能是paramico库的问题,您可以检查该问题。

这种行为是由ssh欢迎横幅的错误处理引起的。但是我们有一个解决方法:编辑/etc/ssh/sshd_配置并对以下内容进行注释低压线:

Banner /etc/jmotd
然后,重新启动sshd守护程序:

service sshd restart
如果您遇到任何困难,请随时联系我们support@jelastic.com.

致以最良好的祝愿,
Jelast支持团队

你能提供更多信息吗?有人测试过吗?我们需要更深入地调查这个案例。我们的开发人员也参与其中。如果你在Jelast平台内发现任何可能导致此问题的东西,请告诉我。我很好奇:当你说“这种行为是由于ssh欢迎横幅处理不正确造成的“,到底是谁或什么在做不正确的处理?是Fabric/Paramiko还是Jelast平台本身的什么东西?我还没有尝试过建议的解决方案。我会告诉你的。这是Paramiko的问题,你可以用谷歌搜索它。我无法应用解决方法。事实上,有一个
sshd\u config
service sshd restart