我为windows安装了git,当提供选择Putty或OpenSSH的选项时,我选择了OpenSSH。但是,我确实安装了putty,看起来git抓住了这个并且正在尝试使用它。 (我在环境变量中有GIT_TRACE = 2)
E:\blah>git push
trace: built-in: git 'push'
trace: run_command: 'ssh' 'git@bitbucket.org' 'git-receive-pack '...
Enter passphrase for key 'C:\putty\my.ppk':
这真是奇怪,因为ppk甚至没有密码。虽然真正的问题是它不应该使用putty键,但它应该使用〜/ .id_rsa
这在安装后正常工作,但在重新启动计算机后,它开始执行此操作。
有没有办法告诉git使用openssh而不必重新安装它?
答案 0 :(得分:3)
似乎git抓住了这个
可能因为putty.exe
在你的%PATH%中排在第一位。
检查GIT_SSH
environment variable。
set GIT_SSH
如果您想使用openssh,则需要set it to git/bin/ssh.exe
:
set GIT_SSH=C:\path\to\git\bin\ssh.exe
这应确保push和pull命令查找〜/ id_rsa(.pub)键,而不是要求putty *.ppk
私钥存储。