Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/git/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/variables/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Git从命令行请求密码_Git_Gitosis - Fatal编程技术网

Git从命令行请求密码

Git从命令行请求密码,git,gitosis,Git,Gitosis,我在服务器上设置git和gitosis来管理我的回购。对于我设置的初始shell帐户,它工作正常,即我可以运行: git clone git@MYSERVER:gitosis-admin.git 但当我尝试使用我创建的单独帐户(通过gitosis.conf)时,它会不断询问密码: git clone johndoe@MYSERVER:gitosis-admin.git 我设置了SSH密钥并将副本推送到服务器上的keydir。这个问题似乎解决了同样的问题,但给出的解决方案是针对乌龟的 我如何

我在服务器上设置git和gitosis来管理我的回购。对于我设置的初始shell帐户,它工作正常,即我可以运行:

git clone git@MYSERVER:gitosis-admin.git
但当我尝试使用我创建的单独帐户(通过gitosis.conf)时,它会不断询问密码:

git clone johndoe@MYSERVER:gitosis-admin.git
我设置了SSH密钥并将副本推送到服务器上的keydir。这个问题似乎解决了同样的问题,但给出的解决方案是针对乌龟的


我如何告诉git使用ssh密钥而不是询问密码?

好吧,我刚刚读到gitosis,而且你永远不应该从
克隆johndoe@MYSERVER
在使用时。始终从
git@
克隆,并确保ssh密钥设置正确,以便服务器可以使用这些密钥区分(例如)johndoe和janedoe

在客户端,您要做的是将johndoe的SSH密钥添加到您的密钥链中,删除服务器将接受的任何其他密钥,并将您的git用户和电子邮件设置设置为将您标识为johndoe。服务器将比较这两者,查看它们是否匹配,然后让您提交。如果您将SSH配置为使用其他人的密钥,然后尝试使用git以johndoe的身份提交,您可能可以连接到服务器,但它不允许您继续提交


OTOH,因为gitosis不会创建实际的用户帐户,所以您不能将johndoe作为ssh连接到机器中,这也意味着您不能使用johndoe@... git中存储库的地址。如果您需要这样做,您必须以另一种方式设置git服务器。

如果不使用用户名,您总是说:

git clone git@MYSERVER:<repository>

在gitosis.conf中,以及gitosis admin/keydir中的johndoe.pub和janedoe.pub文件;gitosis将为用户使用适当的密钥,但您始终使用“git”作为URL中的用户。那是因为它总是使用“git”帐户。

我也有类似的情况。请阅读我的问题:
[group users]
members = johndoe janeroe
writable = repo1 repo2