git clone要求输入密码(多个用户)

3
我已经设置了一个带有多个用户的虚拟机。我的主要用户是VM-User,我使用该帐户创建了另一个名为“Joe”的用户。我通过登录VM-User克隆了一个git repo,一切正常。
问题在于,当我尝试通过登录用户“Joe”来克隆相同的repo时,它会要求我输入git服务器的密码。
git clone git@0.0.0.0:repo.git some_folder

它显示:

git@0.0.0.0's password: (asks me to type in a password)

我已经为"Joe"创建了一个SSH密钥并将其添加到gitosis中。
有人知道我做错了什么吗?
提前感谢:)
SSH调试日志:
debug1: Authentications that can continue: publickey,password
debug1: Next authentication method: publickey
debug1: Offering RSA public key: email@example.com
debug1: Authentications that can continue: publickey,password
debug1: Trying private key: /home/joe/.ssh/id_rsa
debug1: Trying private key: /home/joe/.ssh/id_dsa
debug1: Trying private key: /home/joe/.ssh/id_ecdsa
debug1: Next authentication method: password

如果您尝试在没有Git的情况下连接SSH,会发生什么情况(只需ssh git@0.0.0.0)?使用ssh -v git@0.0.0.0来查看是否使用了您的SSH密钥进行连接。 - helmbert
尝试使用 ssh -v git@0.0.0.0(注意 -v 标志)。它应该会提供更多有关 SSH 认证失败的信息(特别是要查找类似于“Offering RSA public key: /home/user/.ssh/my_key”的行)。 - helmbert
我发现了一些有趣的东西。看看这个问题。你知道那是什么意思吗?我对Git还很陌生。 - Farhan Ahmad
1
@FarhanAhmad:这与git无关。您在目标机器上是否实际拥有正确的授权密钥? - Wooble
是的,我已经在gitosis-admin中添加了那个密钥。只是为了测试,我尝试在另一台计算机上克隆它,它可以正常工作。 - Farhan Ahmad
显示剩余2条评论
2个回答

3

如果克隆机上没有设置授权密钥,否则SSH将无法到达此步骤:

 debug1: Next authentication method: password 

我会检查虚拟机和克隆机上是否有正确的密钥。


听起来这就是问题所在。为多个用户生成密钥会导致这种行为吗?在具有多个用户的计算机上生成ssh密钥是否有特殊方法?我假设每个用户都必须生成自己的ssh密钥?(这就是我正在做的) - Farhan Ahmad
不需要,你只需要为每个用户生成密钥,然后将每个用户的密钥添加到他们账户的 .ssh/known_hosts 文件中的服务器。 - Mark Leighton Fisher
我解决了。由于某种原因,每个用户的 .ssh 目录都是由 root 用户拥有的。只需删除 .ssh 目录并将其创建为已登录的用户,问题就解决了。感谢您的帮助 :) - Farhan Ahmad

1

我遇到了同样的问题。我只是在响应输入要保存密钥的文件(/c/Users/sposada/.ssh/id_rsa):时按了Enter,并将id_rsa.pub复制并更改了服务器上的名称。

Git 正试图从/home/joe/.ssh/id_rsa获取 ssh 公钥,但你有/home/joe/.ssh/joe


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接