Fabric显示Disconnecting from username@server... done.
将近2分钟,然后显示新的命令提示符。
使用发布到内部服务器和Rackspace云服务器的Fabric命令时存在此问题。下面我已经包含了来自服务器的auth.log,我在MacBook上的日志中没有看到任何内容。
关于问题是什么的任何想法?
Apr 21 13:30:52 qsandbox01 sshd[19503]: Accepted password for mrankin from 10.10.100.106 port 52854 ssh2
Apr 21 13:30:52 qsandbox01 sshd[19503]: pam_unix(sshd:session): session opened for user mrankin by (uid=0)
Apr 21 13:30:52 qsandbox01 sudo: mrankin : TTY=unknown ; PWD=/home/mrankin ; USER=root ; COMMAND=/bin/bash -l -c apache2ctl graceful
Apr 21 13:30:53 qsandbox01 sshd[19503]: pam_unix(sshd:session): session closed for user mrankin
即使我使用以下fabfile运行fab -H server_ip host_type
,问题仍然存在。
from fabric.api import run
def host_type():
run('uname -s')
我不确定这个问题持续了多长时间,但是自从我开始注意到使用Fabric后服务器断开连接以来,有些事情发生了变化。
答案 0 :(得分:6)
我在virtualenv中发出以下命令后问题不再存在:
pip install -U paramiko
安装了paramiko-1.7.6和pycrypto-2.0.1。以前,我有paramiko-1.7.4和pycrypto-2.0.1。
出现paramiko是罪魁祸首,因为pycrypto版本没有改变。 paramiko 1.7.4和Fabric 0.9之间似乎存在相互作用,通过将paramiko升级到1.7.6来修复。
注意:我在一个virtualenv中升级到paramiko-1.7.6并确认问题消失了。然后我激活了另一个仍然有paramiko-1.7.4的virtualenv并确认问题仍然存在,它确实存在。然后我将paramiko从1.7.4升级到1.7.6并确认问题在virtualenv中也消失了。
答案 1 :(得分:2)
感谢您在此处跟踪此事。我只想注意任何读者Paramiko 1.7.4之前已知与Fabric 0.9一样稳定,但在过去一周或两周内,几个用户已经开始展示这个或类似的问题(断开超时)所以我猜一些其他组件(Python升级,或远程服务器软件包升级,或某些东西)正在发挥作用,正在逐步消除1.7.4中的错误。
我将查看Paramiko 1.7.5 / 1.7.6的更改日志,并收集有关人们的平台/ Python版本/等的更多信息,以尝试查看模式是否出现。
编辑:此问题的新创建的Redmine票证位于:http://code.fabfile.org/issues/show/158