gitosis要求密码

and*_*dho 6 git passwords ssh rsa gitosis

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

  • 使用ssh-keygen文件名johndoe 创建了一个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

ebn*_*ter 6

Gitosis是一种愚蠢的 - 你用于密钥文件的文件名字面意思是"johndoe"?如果是这样,请更改:

git mv keydir/johndoe keydir/johndoe.pub
git commit -m "changed key name"
git push
Run Code Online (Sandbox Code Playgroud)

然后再试一次.

此外,正如Arlen Cuss指出的那样,确保它实际上公钥,而不是私钥.


lut*_*ood 5

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

我必须按照许多网站提供的说明进行操作,但每次都要遵循

git clone git@[serveur_name]:gitosis-admin.git
Run Code Online (Sandbox Code Playgroud)

它正在询问GIT的密码.

解决方案:我已经在我的authorized_keys文件(位于服务器的目录中)中插入了管理公钥(在我的客户端用户上创建的;然后导入到服务器的tmp目录中/home/git/.ssh/),它现在可以正常工作了.

 cp authorized_keys authorized_keys.bak
 cat /tmp/id_dsa_git.pub >> authorized_keys
Run Code Online (Sandbox Code Playgroud)

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