23

Fabric を使用して Django サイトをデプロイしているときに奇妙な問題が発生します。ログインに鍵ファイルを使用するように 2 つのサーバーを構成しました。パスワードなしで両方にSSHできます。正しく fab を実行できます。

$ 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 bamboo@dev.mysite.com -i ~/.ssh/id_dsa_bamboo
Last login: Wed Apr 11 06:24:28 2012 from xxx.xxx.xx.xx
[bamboo@dev ~]$ 

set toで設定env.use_ssh_config = Trueして実行してみました~/.ssh/config

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

何が起こっているのでしょうか?助けてくれてありがとう。

4

4 に答える 4

26

あなたは付け加えられます:

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

承認プロセスに関する詳細情報を取得するには、インポート後に fabfile の先頭に移動します。

于 2012-04-11T07:10:52.107 に答える
10

私にとっては、次の方法で SSH エージェントの ID をリセットする必要がありました。

ssh-add -D

次に、次のようにキーを追加します。

ssh-add -K keyname

注意してください。これにより、SSH エージェントからすべての ID が削除されます。

于 2015-02-27T01:16:09.507 に答える