2014-09-06 47 views
8

我使用的是Windows 7和每次Cygwin的混帳我做到這一點,需要通過SSH github上通信的任何操作,我得到以下信息:的Git在Cygwin:未能將主機添加到已知主機列表中

Could not create directory '/home/ltb/.ssh'. 
The authenticity of host 'github.com (192.30.252.129)' can't be established. 
RSA key fingerprint is 16:27:ac:a5:76:28:2d:36:63:1b:56:4d:eb:df:a6:48. 
Are you sure you want to continue connecting (yes/no)? 

到目前爲止好,我明白上面發生了什麼。但是一旦輸入yes,SSH應該能夠將github密鑰插入known_hosts文件並移動。相反,我每次都會收到以下錯誤消息:

Failed to add the host to the list of known hosts (/home/ltb/.ssh/known_hosts). 

我在做什麼錯?

回答

6

我寫了一個關於這個問題的blog post。解決方法在於,您在cygwin中的主文件夾最有可能在/cygdrive/c/home/ltb/之下,而不是在上面列出的/home/ltb/之下。你能解決這個問題是這樣的:

  1. 找到passwd文件,通常是在C:\ cygwin的\等\
  2. 與您喜歡的編輯器
  3. 在與您的用戶名開頭的行打開它,將讀取/home/<user>的部分更改爲/cygdrive/c/home/<user>,其中<user>是您的cygwin用戶名。如果不同,請相應調整此路徑。
  4. 保存更改並重新啓動Cygwin的終端

希望這有助於...

+6

對於較新的Cygwin的,你需要編輯'/等/ nsswitch.conf'代替,並添加'db_home:windows'然後重新啓動Cygwin。請參閱[此超級用戶答案](https://superuser.com/a/1026123/333230)。 – 2016-06-07 14:10:36