结构命令不适用于特定的 ssh 密钥



我正在使用fabric3(https://pypi.python.org/pypi/Fabric3(,一个python 3的fabric端口。

有以下函数wchich,我正在使用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:

当我运行该功能时,我被要求输入密码。它似乎忽略了密钥。如何让函数使用规定的密钥?

我将 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

最新更新