问题描述
如果我直接从终端运行 git push
命令,我不会收到任何密码提示(这是预期的行为):
$ git push remotename master
但是如果我在 Fabric 中运行相同的命令,我会收到密码提示:
>> c.local("git push remotename master")
Enter passphrase for key '/Users/name/private/mykey'
即使我将密钥添加到 ssh 代理 (ssh-add -K ./mykey
) 也会发生这种情况
如何确保 Fabric 版本不会提示我输入密码?
解决方法
首先检查本地使用的 URL:
c.local("git remote -v")
它不应要求位于“./
”中的密钥,除非存在使用相对路径指定私钥的 ~/.ssh/config
文件(不是一个好习惯)。