2013-04-05 94 views
1

我有一个git存储库,我可以在Windows机器和Bash控制台中成功克隆它。但是当我试图在Windows控制台克隆它时,git无法找到ssh-keys并询问我的密码。Git无法在Windows控制台中找到ssh密钥

下面是一些有用的信息:

[36]: ssh -v -T xx.xxx.xxx.xxx 
OpenSSH_4.6p1, OpenSSL 0.9.8e 23 Feb 2007 
debug1: Connecting to xx.xxx.xxx.xxx [xx.xxx.xxx.xxx] port 22. 
debug1: Connection established. 
debug1: identity file /.ssh/identity type -1 
debug1: identity file /.ssh/id_rsa type -1 
debug1: identity file /.ssh/id_dsa type -1 
debug1: Remote protocol version 2.0, remote software version OpenSSH_5.8 
debug1: match: OpenSSH_5.8 pat OpenSSH* 
debug1: Enabling compatibility mode for protocol 2.0 
debug1: Local version string SSH-2.0-OpenSSH_4.6 
debug1: SSH2_MSG_KEXINIT sent 
debug1: SSH2_MSG_KEXINIT received 
debug1: kex: server->client aes128-cbc hmac-md5 none 
debug1: kex: client->server aes128-cbc hmac-md5 none 
debug1: SSH2_MSG_KEX_DH_GEX_REQUEST(1024<1024<8192) sent 
debug1: expecting SSH2_MSG_KEX_DH_GEX_GROUP 
debug1: SSH2_MSG_KEX_DH_GEX_INIT sent 
debug1: expecting SSH2_MSG_KEX_DH_GEX_REPLY 
debug1: Host '62.105.139.252' is known and matches the RSA host key. 
debug1: Found key in /.ssh/known_hosts:3 
debug1: ssh_rsa_verify: signature correct 
debug1: SSH2_MSG_NEWKEYS sent 
debug1: expecting SSH2_MSG_NEWKEYS 
debug1: SSH2_MSG_NEWKEYS received 
debug1: SSH2_MSG_SERVICE_REQUEST sent 
debug1: SSH2_MSG_SERVICE_ACCEPT received 
debug1: Authentications that can continue: publickey,keyboard-interactive 
debug1: Next authentication method: publickey 
debug1: Trying private key: /.ssh/identity 
debug1: Trying private key: /.ssh/id_rsa 
debug1: Trying private key: /.ssh/id_dsa 
debug1: Next authentication method: keyboard-interactive 
Password: 

$高次波:

[43]: echo $HOME 
C:\Users\myname 

回答

4

如果你这样做cd ~; pwd -W那么你的bash键在此文件夹中的子目录的.ssh。 pwd -W给出你所在的msys目录的Windows路径。推测在你的情况下,这与你的cmd提示符shell中的HOME或USERPROFILE或HOMEPATH不同。您可以使用HOME环境变量来确保它们都匹配。如果你没有在Windows环境中设置HOME,那么它将被设置为%HOMEDRIVE %% HOMEPATH%(如果设置了这些)或%USERPROFILE%(取决于你是否在NT域中或者我不相信)。如果您自己设置HOME,那么将覆盖任何自动检测。

+0

@demas,换句话说,'.ssh'目录前的唯一''''分隔符是错误的,因为'.ssh'应该位于你的“主目录”下,所以整个事情应该看起来像'〜/ .ssh'或'/ C/Users/demas/.ssh'或者类似于你的系统的东西。这就是Pat的解释开始的地方。 – kostix 2013-04-05 16:53:20