Fabric命令不使用特定的ssh密钥

时间:2017-02-09 17:00:51

标签: python git ssh fabric

我正在使用fabric3(https://pypi.python.org/pypi/Fabric3),这是一个python 3端口的结构。

我有以下功能,我使用git-bash在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
[deploy@198.x.x.x] Executing task 'dir'
[localhost] local: git push mysite master
deploy@198.x.x.x's password:

当我运行该功能时,我会被要求输入密码。它似乎忽略了关键。如何才能使用指定密钥的功能?

1 个答案:

答案 0 :(得分: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