Fabric网关似乎没有使用我的env.user设置

时间:2014-12-30 20:15:18

标签: python ssh fabric

这真的让我很伤心,这可能是超级容易/愚蠢的事情。

我最近选择了一个完成了一半的面料项目,并且正在完成它的充实,没有以前的面料经验。我要做的第一件事就是建立网关连接,这样我就不必为我们部署的每个环境从4个不同的网关机器中的1个运行fab。

所以,设置是......

'base' --> 'dev_gateway' --> 'dev_environment'

'base' --> 'qa_gateway' --> 'qa_environment'

'base' --> 'prod_gateway' --> 'prod_environment'

现在,在我的fabfile.py中,我将env.user设置为在每个dev,qa和prod环境(所有env中的同一用户)中运行应用程序的用户。然后,我将env.gateway设置为4个网关(每个网关的不同用户)中的每个网关的用户@网关,具体取决于所针对的环境。

我现在在目标计算机上运行的所有命令都会出现此错误:

Fatal error: Needed to prompt for a connection or sudo password (host: server1), but input would be ambiguous in parallel mode

SSH密钥就位,这样的命令可以在不提示输入密码的情况下运行:

ssh qa_gateway_user@qa_gateway "ssh common_user@qa_env_server \"echo TEST\""

此外,当我使用--show = debug运行fab命令时,它显示网关用户是正确的。它不会在目标主机上为我输出任何内容,甚至是简单的运行('echo TEST')或run('uname -n')来验证正在拾取的用户。

有人有什么想法吗?这就像fabric忽略了我的env.user,因为我正在使用网关。如果我没有设置网关并从网关盒本身运行fab命令,则没有问题。

先谢谢,这让我疯了。

0 个答案:

没有答案