2013-04-05 61 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