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
何が起こっているのでしょうか?助けてくれてありがとう。