我正在Windows XP上设置一个git环境(msysGit 1.7.11,TortoiseGit 1.7.14),尝试实现以下几点:
- 使用不同于默认端口22的端口进行ssh连接
- ssh认证由ssh-agent处理
因此,我创建了一个~/.ssh/config文件:
Host gitbox
User gitolite
Hostname XX.XX.XX.XX
Port 154
PreferredAuthentications publickey
IdentityFile "/c/Documents and Settings/kraymer/.ssh/id_rsa"
当使用git bash CLI时,一切都按预期工作。
我在TortoiseGit方面遇到了困难。
我最初使用Plink安装了TortoiseGit,并使用Pageant加载ssh私钥。自动认证(Pageant)有效,但是由于TortoiseGit无法识别以gitolite@gitbox/repo.git格式为形式的git仓库url,所以设置失败。
然后,我决定使用openssh客户端安装TortoiseGit,这样可以使ssh客户端读取config文件,并模拟git CLI设置。
我在TortoiseGit设置中选择了随msys git一起提供的ssh.exe作为ssh客户端。
当执行git pull
时,远程url现在已解析,但是会要求输入密语密码,而我期望进行ssh-agent自动认证。
有没有可能使TortoiseGit与ssh-agent配合工作?
或者让TortoiseGit(Plink)能够识别.ssh/config?
编辑#1
根据@VonC的建议,我配置了$HOME变量。
当我在TortoiseGit中点击显示环境变量时,现在有:
HOME=C:\Documents and Settings\kraymer
HOMEDRIVE=C:
HOMEPATH=\Documents and Settings\kraymer
但是,git pull
仍然需要我输入密码。