Fabric git 推送要求输入密码,但命令行版本没有
Fabric git push asking for passphrase, though command line version doesn't
如果我直接从终端 运行 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
文件使用相对路径指定了私钥(不是一个好的做法)。
如果我直接从终端 运行 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
文件使用相对路径指定了私钥(不是一个好的做法)。