我已经在个人服务器上安装了gitosis并且我已经设置好了,以便我现在可以使用我的ubuntu机器从命令行访问存储库
git clone gitosis @ myservername:/myreponame.git
它要求我输入我的rsa密码的密码,然后按预期工作。
但是,我正在尝试使用EGit和eclipse(再次,在Ubuntu下),我无法从存储库中取出。 我把它设置为拉出那个确切的存储库,gitosis @ myservername:/ myreponame.git然后它继续查找myservername和我的个人公钥(它也提供了文件路径,所以我知道它是同一个)并要求我的密码。但是,它从不接受我的密码(注意:我很确定它拒绝密码而不是密钥本身,因为它立即拒绝它并且没有说未授权,以及相同密钥在CLI中工作的事实)。 我得到的印象是它不起作用的原因是因为它试图用密码作为用户gitosis解锁公钥,而不是我本地机器上的用户名,尽管解锁公钥文件是一个特殊的事实用户毫无意义。
我知道我正在正确输入密码短语,因为它可以在CLI中运行,我甚至成功地更改了密码短语只是为了让300%肯定。
任何人都可以解释这个问题吗?
答案 0 :(得分:2)
神圣的鳄梨酱 - 我自己解决了。 分享我的解决方案似乎很多人都有这个问题。
做研究我遇到了一个有着非常相似问题的人 - 提示是这显然与gitosis无关,但Eclipse拒绝接受我的密码。
根据此错误报告,EGit默认使用的ssh实现无法处理使用除3DES之外的任何内容加密的ssh密钥,但它不会检查加密,因此只会输入错误的密码短语失败。
以下关于错误报告的评论对我有用: https://bugs.eclipse.org/bugs/show_bug.cgi?id=326526#c9
它只是设置一个GIT_SSH环境变量,EGit现在表示,它可以处理你使用的密钥加密,在我的情况下我只是将它设置为/ usr / bin / ssh
导出GIT_SSH = / usr / bin / ssh
然后打开日食。
您可能还希望将其添加到每次登录时都会运行的位置。 对于我在Ubuntu 11.04上,我将导出行添加到我的〜/ .gnomerc文件(它已经不存在),现在每次登录时都会设置它。