我在个人服务器上安装了gitosis,并对其进行了设置,以便我现在使用的ubuntu计算机可以从命令行访问存储库,方法很简单

git clone gitosis @ myservername:/myreponame.git

它要求我输入我的rsa密钥的密码,然后按照预期进行操作。

但是,我试图将EGit与eclipse结合使用(再次在Ubuntu下),但无法从存储库中提取。 我将其设置为提取确切的存储库gitosis @ myservername:/myreponame.git,然后继续查找myservername和我的个人公共密钥(它也提供了文件路径,因此我也知道它的相同路径)并询问我的密码。但是,它从不接受我的密码短语(请注意:我很确定它拒绝密码短语,而不是密钥本身,因为它会立即拒绝它并且不说未授权,并且相同的密钥可以从CLI使用。) 我给人的印象是它不起作用的原因是因为它尝试使用密码短语来解锁公钥,因为用户是gitosis,而不是我在本地计算机上的用户名,尽管事实上已将公钥文件解锁了。用户毫无意义。

我知道我输入的密码正确,因为它可以从CLI使用,并且我什至成功地更改了密码,只是为了确保300%正确。

有人可以阐明这个问题吗?

有帮助吗?

解决方案

圣鳄梨酱-我自己解决了。 分享我的解决方案,因为似乎很多人遇到了这个问题。

进行研究时,我遇到了一个问题非常相似的人-暗示是要弄清楚这显然与gitosis无关,但是Eclipse拒绝接受我的密码。

根据此错误报告,EGit默认使用的ssh实现无法处理使用3DES以外的任何方式加密的ssh密钥,但它不会检查加密,因此只会失败,就像键入了错误的密码短语一样。

以下关于错误报告的评论对我有用: https://bugs.eclipse.org/bugs/show_bug.cgi?id= 326526#c9

它说只需将EGit现在认可的GIT_SSH环境变量设置为可以处理您使用的密钥加密的环境变量,在我的情况下,我将其设置为/ usr / bin / ssh,

导出GIT_SSH= / usr / bin / ssh

然后打开eclipse。

您可能还希望将此添加到每次登录时都会运行的位置。 对于我来说,在Ubuntu 11.04上,我将导出行添加到了〜/ .gnomerc文件(该文件尚不存在),并且现在每次登录时都会对其进行设置。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top