2017-02-09 13 views
0

Я работаю с fabric3 (https://pypi.python.org/pypi/Fabric3), порт 3 на основе python.Команда Fabric, не работающая с конкретным ключом ssh

У меня есть следующая функция wchich Я бегу локально в win7 с использованием ГИТ-Баш:

@roles('production') 
def dir(): 
    env.key_filename = '~/.ssh/deploy' 
    local("git push mysite master") 
    run('pwd') 
    run('ls') 
    code_dir = '/home/deploy/mysite' 
    with cd(code_dir): 
     run('pwd') 
     run('git reset --hard master') 
     run('ls -la') 

выход:

$ fab dir 
[[email protected]] Executing task 'dir' 
[localhost] local: git push mysite master 
[email protected]'s password: 

Когда я запускаю эту функцию, я получаю запрос на ввод пароля , Кажется, он игнорирует ключ. Как я могу заставить функцию использовать предписанный ключ?

+0

Этот пароль задан 'git push'? – Leon

+0

да, так кажется. – user61629

+0

'git push', выполненный из' fabric', подключается к удаленному хосту с помощью отдельного соединения, которое не управляется 'fabric'. – Leon

ответ

0

Я добавил git в качестве пользователя в файл .ssh/config, и теперь он работает.

Host deploy 
HostName 198.x.x.x 
User deploy 
PreferredAuthentications publickey 
IdentityFile ~/.ssh/deploy 
IdentitiesOnly yes 

Host 198.x.x.x 
HostName 198.x.x.x 
User git 
IdentityFile ~/.ssh/deploy 

 Смежные вопросы

  • Нет связанных вопросов^_^