Git on Cygwin:无法将主机添加到已知主机列表中

Leo*_*mps 9 git ssh cygwin

我在Windows 7上使用cygwin git,每次我做任何需要通过SSH与github通信的操作时,我收到以下消息:

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)?
Run Code Online (Sandbox Code Playgroud)

到目前为止,我很清楚上面发生了什么.但是一旦我输入yes,SSH应该能够在known_hosts文件中插入github密钥并移动.相反,我每次都会收到以下错误消息:

Failed to add the host to the list of known hosts (/home/ltb/.ssh/known_hosts).
Run Code Online (Sandbox Code Playgroud)

我究竟做错了什么?

λ J*_*kas 8

我写了一篇关于这个问题的博客文章.解决之道在于一个事实,即在cygwin的个人文件夹中是最有可能的下/cygdrive/c/home/ltb/,而不是根据/home/ltb/你上面列出.你可以像这样解决它:

  1. 找到passwd文件,该文件通常位于C:\ cygwin\etc \
  2. 用您喜欢的编辑器打开它
  3. 在以您的用户名开头的行上,更改读取的部分/home/<user>以读取您的cygwin用户名/cygdrive/c/home/<user>在哪里<user>.如果不同,相应地调整此路径.
  4. 保存更改并重新启动Cygwin终端

希望这可以帮助...

  • 对于较新的Cygwin,您需要编辑`/ etc/nsswitch.conf`并添加`db_home:windows`然后重新启动Cygwin.请参阅[此超级用户回答](https://superuser.com/a/1026123/333230). (12认同)