1
我有以下的配置在我的〜/ .ssh/config中面料使用時不工作的〜/ .ssh/config中
Host death-star
HostName deathstar.empire.com
User vader
IdentityFile ~/.ssh/death_id_rsa
而且fabfile以下
from fabric.api import env, task
env.use_ssh_config = True
@task
def destroy_rebels():
run("echo Alderaan has been destroyed")
我打電話任務是這樣的:
$ fab --host death-star destroy_rebels
這是輸出我得到:
[death-star] Executing task 'destroy_rebels'
[death-star] run: echo Alderaan has been destroyed
Fatal error: run() received nonzero return code -1 while executing!
Requested: echo Alderaan has been destroyed
Executed: /bin/bash -l -c "echo Alderaan has been destroyed"
Aborting.
Disconnecting from [email protected] done.
我敢肯定,SSH配置是正確的,因爲我可以ssh death-star
沒有問題。
此外,當我指定主機名,並使用root用戶的默認密鑰,而不是使用ssh配置文件中,它的工作原理:
$ fab --user root --host deathstar.empire.com destroy_rebels
任何想法,爲什麼出現這種情況?
編輯:這是我的布藝版
$ fab --version
Fabric 1.4.1
ssh (library) 1.7.13
編輯2:
我已經重寫了原來的職位位。我意識到root
(使用默認密鑰id_rsa
總是工作,即使使用.ssh/config
,如果我添加新條目:
Host root-death-star
HostName deathstar.empire.com
User root
IdentityFile ~/.ssh/id_rsa
$ fab --host root-death-star destroy_rebels # this works
但如果使用非root用戶vader
,擁有自己的關鍵death_id_rsa
,它不。儘管如此,SSH服務器仍然工作,作爲root和vader。
那麼,您在IdentityFile中有一個錯字,是否僅僅是複製/粘貼問題? – AdamKG 2012-04-18 16:34:23
是的,它現在已經修復:) – 2012-04-18 16:35:58
你可以包含'fab --version'的輸出嗎? (在1.4中添加了'use_ssh_config')。哦,在你的最後一個例子中,'--user vader'是否工作? (你可能還需要'-i〜/ ssh/id_rsa') – AdamKG 2012-04-18 16:38:00