我有一台较旧的Windows XP笔记本电脑,我最近将git升级到1.8.4.msysgit.0
,以便从新的cmd\git.exe
而不是旧的cmd\git.cmd
脚本中受益。
在升级之后,git要求为其操作(例如克隆)提供密码,在升级之前它没有。没有任何ssh键以任何方式改变。
奇怪的是两者都是
"c:\Program Files\Git\bin\ssh.exe" user@x.x.x.x
"c:\Program Files\Git\bin\git.exe" clone user@x.x.x.x:/path/to/repo
工作,但
"c:\Program Files\Git\cmd\git.exe" clone user@x.x.x.x:/path/to/repo
没有。
背景资料:
%HOME%
,但这没有帮助。%PATH%
包含git安装的cmd
文件夹,而不是bin
文件夹。 UPDATE1:
搞砸了一下之后,我注意到如果设置了%HOME%
变量,ssh命令也会要求输入密码。它是使用set HOME=%HOMEDRIVE%%HOMEPATH%
设置的,后者解析为c:\Documents and Settings\username
。
答案 0 :(得分:2)
msysgit的旧版本显然将其ssh密钥保存在Git安装文件夹(c:\Documents and Settings\username\.ssh)
中。此文件夹中有2个文件(id_rsa和id_rsa.pub),这些文件在主文件夹的ssh文件夹中不存在复制完这些后,问题就解决了。