У меня возникла странная проблема при развертывании сайта Django с помощью Fabric. Я настроил два сервера для использования файлов ключей для входа в систему. Я могу подключиться по 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:
Файл fab настроен довольно явно
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 ~]$
Я также пытался установить env.use_ssh_config = True
и работает с ~/.ssh/config
установленным на
Host dev.mysite.com
User bamboo
IdentityFile ~/.ssh/id_dsa_bamboo
ForwardAgent yes
. Есть идеи, что может происходить? Спасибо за помощь.