使用Fabric的git pull的SSH密钥密码

Vla*_*kov 15 git passphrase ssh-keys fabric

我正在尝试使用fabric自动部署应用程序.

应用程序代码托管在GitHub上,推出一个新版本非常简单 - 只需要'git pull'就可以了.该应用程序托管在100台服务器上,因此我希望自动部署.Fabfile.py:

def deploy():
  code_path = '/home/myuser/myapp'
  with cd(code_path):
    run('git pull')
    run('git submodule update --init --recursive')
Run Code Online (Sandbox Code Playgroud)

问题是,在每个git命令我得到一个promt Enter passphrase for key '/home/myuser/.ssh/id_rsa::

有没有办法自动输入密码?它在每台服务器上都是一样的,与sudo密码相同

我曾尝试过访问库,但我想知道是否有更好的(即标准的)方法.

Mor*_*gan 13

您还可以使用ssh密钥代理并使用代理转发.始终在密钥上输入密码.Github在这里有如何利用它的好文档.

Fabric现在也应该具有代理转发能力.我在一些极端情况下遇到了麻烦,但是在问题解决之前,用一个明确的本地('ssh -A ...)作为解决方法绕过它们.