2012-04-11 14 views
19

Fabricを使用してDjangoサイトを展開する際に問題が発生します。私はログインのためのキーファイルを使用するように2つのサーバーを構成しました。私はパスワードなしで両方にSSHできます。他のサーバがパスワードを要求しながら、私は、正しく1にファブ資格情報を使用してSSHできる場合でも、Fabricはパスワードを要求します

$ fab live pull 
[mysite.com] Executing task 'pull' 
[mysite.com] run: test -d proj 
[mysite.com] run: test -d proj/.git 
[mysite.com] run: git pull origin master 
... 

を実行することができます。

$ fab staging pull 
[dev.mysite.com] Executing task 'pull' 
[dev.mysite.com] run: test -d proj 
[dev.mysite.com] Login password: 

をfabfileがかなり明確に

def staging(): 
    env.hosts = ['dev.mysite.com'] 
    env.user = 'bamboo' 
    env.key_filename = '~/.ssh/id_dsa_bamboo' 

から直接にsshを実行している設定されていますコマンドラインが動作する

$ ssh [email protected] -i ~/.ssh/id_dsa_bamboo 
Last login: Wed Apr 11 06:24:28 2012 from xxx.xxx.xx.xx 
[[email protected] ~]$ 

は、私はまた、env.use_ssh_config = Trueを設定し、

Host dev.mysite.com                   
    User bamboo                    
    IdentityFile ~/.ssh/id_dsa_bamboo               
    ForwardAgent yes 

に行くことができるものの任意のアイデアに~/.ssh/config設定して実行してみましたか?助けてくれてありがとう。

+0

非常に似てここに。私は昨日も今日でもすべての仕事を成功させることができましたが、突然ファブリックがパスワードを求めてきます。 – sobi3ch

+0

誰でもこの原因を挙げることができますか。 – Romaan

答えて

25

あなたは追加することができます。

ssh.util.log_to_file("paramiko.log", 10) 

あなたfabfileのトップへ、輸入後、承認プロセスに関する詳細な情報を取得します。私にとって

+17

Brillant。 'from fabric.network import ssh'を忘れないでください – RickyA

+2

これはありがとうございます。 paramikoは 'ssh-ed25519'型のキーをサポートしていないことを指摘しました。 2つ目の問題は、リモートサーバーが 'rsa'キーを表示し、' rsa'キーを提供し、 'IDファイル 'として提供する必要があることです。 – James

2

、私はSSHエージェントのアイデンティティをリセットする必要がありました:

ssh-add -D

その後に戻って私のキーを追加します。

ssh-add -K keyname

慎重に、これはSSHからすべてのIDを削除しますエージェント。

0

私は(おそらく、OSXのアップデート後)ファブリックを更新する必要がありました:

sudo pip install --upgrade fabric 
関連する問題