程序化git fetch无法在Windows下请求SSH密钥密码

时间:2015-11-24 14:15:20

标签: git ssh

我正在编写一个程序来自动化确保几个git存储库是最新的过程。当我调用提取通过https访问的遥控器时,git会提示用户输入密码或从用户配置git使用的任何密码管理器中检索密码。这很好。

对于通过ssh访问的存储库,我很难解释为什么git在以编程方式调用时无法请求ssh密钥密码。例如,当我从命令行执行$ git fetch --all时,系统会提示Enter passphrase for key 'xxxxx':。如果我从批处理文件中进行此调用,也是如此。

在Linux上,我可以编写一个包含system("git fetch --all")的C程序,并得到相同的密码短语提示。但是在Windows上,此调用会导致Permission denied (publickey),而不会要求密码。

有什么想法吗?无论是否重定向stdout和stderr,上面都是如此,我测试了isatty()在通过system()调用执行的程序中调用时返回true。

0 个答案:

没有答案