gitosis要求密码

时间:2011-02-03 03:56:38

标签: git passwords ssh rsa gitosis

我按照here的说明设置了一个gitosis服务器。它适用于初始用户,但我最近添加了一个新用户。以下是我采取的步骤。

  • 使用文件名为johndoe的ssh-keygen创建了一个rsa密钥对。
  • 然后将其复制到gitosis admin repo。中的keydir。
  • 编辑了gitosis配置文件,并将用户johndoe添加到成员列表中
  • 使用git commit -a -m "what i did"
  • 进行更改
  • 将更改推送到服务器

之后我尝试使用新密钥文件签出。它要求密码短语,当我正确输入密码时,它会询问用户git的密码! 用户git没有密码。

现在我已经在sshd_config中关闭了PasswordAuthentication,现在它说'Permission denied(publickey)。我检查了git用户的authorized_keys文件,其中只有一个密钥被授权,即gitosis admin的初始密钥。

我还仔细检查了./gitosis-admin.git/hooks/post-update挂钩的权限,它有755

7 个答案:

答案 0 :(得分:6)

Gitosis有点愚蠢 - 用于密钥文件的文件名字面意思是“johndoe”?如果是这样,请更改:

git mv keydir/johndoe keydir/johndoe.pub
git commit -m "changed key name"
git push

再试一次。

另外,正如Arlen Cuss指出的那样,确保 是公钥,而不是私钥。

答案 1 :(得分:5)

嗨,我有同样的问题,我终于找到了出路。

我必须遵循许多网站提供的指示,但每次都在

之后
git clone git@[serveur_name]:gitosis-admin.git

这是要求GIT的密码。

分辨率: 我在我的authorized_keys文件(位于服务器的/home/git/.ssh/目录中)中插入了管理公钥(在我的客户端用户上创建的;然后导入到服务器的tmp目录中)它现在有效。

 cp authorized_keys authorized_keys.bak
 cat /tmp/id_dsa_git.pub >> authorized_keys

我发现了这个@ http://fclose.com/b/linux/366/set-up-git-server-through-ssh-connection/

答案 2 :(得分:1)

确保您将公钥放入您的gitosis回购中,而不是您的私人回复!

当您生成密钥文件时,您将获得一个.pub文件,但是在没有gitosis.conf的情况下将该名称放在.pub中。

答案 3 :(得分:1)

确保您还添加了(git add).pub文件,并将其正确提交并推送到存储库。

答案 4 :(得分:0)

我最近遇到了一个私有存储库工作的问题。我遇到了这个答案并阅读了答案; thisthis成功了。

总结一下后代,请务必将 .pub 键添加到gitosis-admin/keydir目录中。它必须是 .pub 文件。

承诺&将更改推送到 gitosis-admin

您的~/.ssh/authorized_keys将自动更新,因此无需将公钥文件的输出重定向到它。

希望这有帮助

答案 5 :(得分:0)

对于Windows用户来说经常出错的一件事是没有被大多数教程所吸引(因为他们假设你在Linux客户端上)

windows git控制台msysgit正在/home/YOURUSERNAME/.ssh/id_rsa 中寻找您的私钥 在Windows上(Windows 7)C:\ Users \ YOURUSERNAME.ssh \ id_rsa

虽然大多数文件都是正确的,因为它是自动创建的,但是他们错过了文件被命名为“id_rsa”,或者它不会被msysgit使用。 我没有找到告诉msysgit使用其他键的方法

答案 6 :(得分:0)

最有可能发生的事情是更新后的挂钩无法正常运行。

检查~git / .ssh / authorized_keys是否包含您的公钥。

如果没有,则更新后挂钩未运行。随后被更改的权限?其他一些配置错误。从其他地方复制了吗?

  1. 在服务器上,结帐gitosis admin:git clone /path/to/gitosis-admin.git。对gitosis.conf做一个微不足道的改变。检查您的公钥是否在keydir中。我必须以git用户身份运行它。

  2. 提交gitosis.conf。 git add gitosis.conf&& git commit -m“刷新密钥”。

  3. 现在检查authorized_keys文件。

  4. 更改gitosis.conf并再次提交。

  5. 测试访问权限。如果在此过程后未更新authorized_keys,请在日志中查找错误消息。