Mat*_*kin 5 python ssh virtualenv paramiko fabric
Disconnecting from username@server... done.在我发出fab命令时,在显示新的命令提示符之前,Fabric显示将近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
Run Code Online (Sandbox Code Playgroud)
即使我只fab -H server_ip host_type使用以下fabfile 运行,问题仍然存在.
from fabric.api import run
def host_type():
run('uname -s')
Run Code Online (Sandbox Code Playgroud)
我不确定这个问题持续多久,但是自从我开始注意到使用Fabric的服务器断开连接以来,有些事情发生了变化.
在我的virtualenv中发出以下命令后问题不再存在:
pip install -U paramiko
Run Code Online (Sandbox Code Playgroud)
这个安装了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中也消失了.