我有一些代码需要定期从github获取代码(在Windows计算机上)。如何在Windows子进程中通过ssh执行git获取
当我做手动拉,我使用GitBash,我有ssh密钥运行的回购我检查,所以一切都很好。但是,当我尝试在python子进程中运行相同的操作时,我没有GitBash提供的ssh服务,并且无法对回购进行身份验证。
我该如何从这里开始。我可以想到几个不同的选项:
我可以恢复为使用https:// fetches。这是有问题的,因为我要获取使用双因素身份验证的回购,并且将在无人值守的情况下运行。有没有办法从命令行访问具有2fa的https repo?
我试着用参数来调用sh.exe,然后发出我的命令,让所有东西或多或少都以gitBash的方式运行,但这似乎不起作用:
"C:\Program Files (x86)\Git\bin\sh.exe" -c "C:/Program\ Files\ \(x86\)/Git/bin/ssh-agent.exe; C:/Program\ Files\ \(x86\)/Git/bin/ssh.exe -t [email protected]"
产生
SSH_AUTH_SOCK=/tmp/ssh-SiVYsy3660/agent.3660; export SSH_AUTH_SOCK; SSH_AGENT_PID=8292; export SSH_AGENT_PID; echo Agent pid 8292; Could not create directory '/.ssh'. The authenticity of host 'github.com (192.30.252.129)' can't be established. RSA key fingerprint is XXXXXXXXXXX Are you sure you want to continue connecting (yes/no)? yes Failed to add the host to the list of known hosts (/.ssh/known_hosts). Permission denied (publickey).
我可以使用一个SSH模块中像
paramiko
蟒蛇建立连接?在我看来,这仅仅是为了进入远程终端。有没有办法让它提供git.exe可以使用的ssh连接?
所以,我会很感激,如果有人已经这样做过或有更好的替代
这样做了,谢谢!正确设置HOME变量让它运行 – theodox 2014-10-02 16:55:33