2016-09-18 39 views
0

当我尝试从命令窗口中拖拉时,我收到下面的错误。不能从cmd窗口拉混淆,但可以在git bash上

警告:永久性地将IP地址为 '[10.10.46.213]:2222'的RSA主机密钥添加到已知主机列表中。权限被拒绝 (publickey)。致命:无法从远程存储库读取。

请确保您拥有正确的访问权限,并且存在知识库 。

但是,在git bash窗口中,我可以做一个git pull。

有谁知道为什么?

回答

1

似乎它在cmd和bash下配置不同,出于某种原因。至少在关键存储的部分。

首先,在cmd和bash中检查环境PATH,检查git二进制文件的路径在两者中是否真的相同。如果不一样,可能是因为两个不同的配置在两个地方安装了两个独立的git包。在这种情况下,删除一个并粘在两个shell中的另一个上,或者将它们配置为使用相同的选项/ sshtools /路径。

如果你在这两个shell中使用了一个单一的git客户端,它仍然可以使用不同的配置。通常,git使用你的'主目录'来存储密钥(即文件夹%HOME%.ssh)。检查在cmd中,%HOME%是否指向与git bash中的$ HOME相同的目录。甚至可能是你在cmd中根本没有%HOME%。在这个问题上还有一点点Git SSH client for windows and wrong path for .ssh/config file

+1

你好,谢谢你的回答。 这是我做的修复它: CMD,echo%HOME%,什么也没有发生。 在Git bash中,echo $ HOME,C /出现 我通过添加一个名为HOME的环境变量进行了修复,%USERPROFILE% 我将%HOME%添加到了PATH环境变量,并且解决了这个问题。 – johnwick0831

+0

@ user3814557:太好了,一切都好!实际上,PATH中的HOME应该不是坏事。如果您有时间进行测试,请尝试从PATH中删除它。一切都应该仍然有效。 PATH通常用于查找二进制文件,因此如果您在HOME位置没有安装任何东西,则不需要PATH。 – quetzalcoatl