tortoisegit可以使用两种的ssh认证方式:openssh与putty,其中openssh是msysgit默认的方式。而tortoisegit推荐使用putty的方式进行ssh认证,因为putty对windows的支持更好。在很多时候,需要为git设置代理,这个时候直接通过tortoisegit的settings->network设置好代理后,会发现依然无法连接上网络。
是由于git的在进行ssh认证的时候共分为两个步骤:
1. 使用putty或者openssh进行ssh身份验证
2. git进行clone、pull、push等操作。
而通过tortoisegit设置的代理,只是对git生效了,而putty或openssh的代理设置依然无法生效。这是由于tortoisegit设置的代理只是针对git://与http://协议的,而ssh协议的通过该方式设置无效。为此还需要为putty或openssh设置代理才行。根据tortoisegit的中使用putty的文档,可以为专门的使用putty来设置putty的代理。
对于一般情况,只需要修改putty的默认配置就可以了:
- 点putty中的默认设置,并点载入。
- 点连接->代理, 填入代理信息。
- 回到putty的会话,点击保存。
然后就可以正常的使用putty的代理了。
如果需要针对特定的地址使用代理,则可以设置会话名称,在git连接的时候,地址使用会话名称即可。