我通过 ssh 设置了对我的服务器的公钥访问。我的本地 Windows 计算机上有一个 .ssh 文件夹。我将 ssh 配置为使用 ssh-add <directory>
添加私钥命令。我能够使用 windowspowershell 成功连接到我的服务器。 .ssh 目录和授权文件的 chmod 和 Chown 在我的服务器上配置正确。 sshd_config 配置正确并指向正确的 key 。
该连接与 shell 完美配合,因此我的服务器上没有问题。但是使用 Eclipse,特别是它的插件 Egit,我不断收到 Unable to use key file <directory of the key file I loaded into eclipse the same one used by ssh
每次我尝试将修订提交推送到服务器上的 git 存储库时都会出错。我去了Pref > General > Network > SSH2
并添加了正确的私钥,ssh2 主目录也设置正确,实际上公钥和私钥都是使用 key 管理选项卡生成的并加载到我的服务器中。
我对该文件夹和这些 key 的 Windows 权限设置为允许所有用户执行所有操作,只是为了更好地衡量。
现在一条线索是 known hosts
选项卡的主机指纹与我的 key 指纹不匹配。我的 key 类似于 f1:19: 等,并且主机指纹不同。我希望我能尽快解决这个问题。任何建议都会很棒。
ssh-add -l = two private keys that I am using. So its not this.
另一个线索是,在进入我的 putty 程序并更改它突然使用的私钥后,我尝试使用 eclipse 中的 key 访问连接到 ssh,它抛出的错误显示反射(reflect)了我刚才的相同 key 腻子变了!!不知何故,Eclipse 似乎正在使用 Putty 进行公钥访问。我该如何阻止这个?!
最佳答案
好的,解决方案如下。无论出于何种原因,Egit 使用 putty 连接到 ssh,并使用配置 putty 设置为使用公钥访问服务器。解决此问题的方法是确保 putty 能够使用公钥连接到服务器。如果不能,请尝试以下操作:
- 下载 puttygen
- 使用 ssh shell 或 eclipse 上的 key 管理选项卡生成 rsa key 。不要使用 puttygen 生成 key 。不管出于什么原因,它对我来说从来没有用过。
- 将您生成的私钥(不是使用 puttygen 生成的)加载到 puttygen 中,然后另存为 putty 私钥 (.ppk)
- 转到 eclipse key 管理选项卡并将其设置为识别新的 .ppk 私钥文件
- 最后转到 putty,通过分配地址创建服务器配置文件,然后转到 auth 并加载 .ppk 文件。禁用选美。
- 保存并尝试使用 key 连接到服务器,如果成功,那么恭喜 Egit 和 Eclipse 现在可以使用 key 建立连接。
关于eclipse - 无法使用Eclipse key 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12036139/