我在服务器上设置git和gitosis来管理我的回购.它适用于我设置的初始shell帐户,即我可以运行:
git clone git@MYSERVER:gitosis-admin.git
Run Code Online (Sandbox Code Playgroud)
但是,当我尝试使用我创建的单独帐户(通过gitosis.conf)时,它一直要求输入密码:
git clone johndoe@MYSERVER:gitosis-admin.git
Run Code Online (Sandbox Code Playgroud)
我设置了SSH密钥并将副本推送到服务器上的keydir.这个问题似乎解决了同样的问题,但给出的解决方案是tortoisegit.
我怎么告诉git使用ssh密钥而不是要求输入密码?
您不使用您的用户名,您总是说:
git clone git@MYSERVER:<repository>
Run Code Online (Sandbox Code Playgroud)
Gitosis将您的配置文件中的名称与服务器上的密钥名称相关联.也就是说,你有像这样的行
[group users]
members = johndoe janeroe
writable = repo1 repo2
Run Code Online (Sandbox Code Playgroud)
在gitosis.conf中,文件johndoe.pub,janedoe.pub在gitosis-admin/keydir中; gitosis将为用户使用适当的密钥,但您始终使用"git"作为URL中的用户.那是因为它总是使用"git"帐户.