2014-09-06 50 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