我已经在服务器(比如) gitolite-admin.git
上成功创建了 10.107.105.13
存储库。我可以通过发出 10.14.42.7
在我的本地机器上克隆这个 repo(比如) git clone [email protected]:gitolite-admin
。我必须在 .ssh/config
文件中添加一些行以确保使用正确的私钥。
然后我添加了一个用户 dilawar
到 conf/gitolite.conf
文件和一个适当的键 dilawar.pub
到 keys
文件夹。我已将此提交添加并提交到 gitolite-admin
存储库。我还在 .ssh/conf
文件中添加了一个条目,以便使用正确的私钥。但是当我尝试执行 git clone [email protected]:testing
时,gitolite 会要求输入密码。我的印象是我不必在 10.107.105.13 上创建用户 dilawar。我通过登录服务器检查了存储库 testing.git 是否存在以及公钥 dilawar.pub
已添加到 .ssh/authorized_keys
。
我还尝试过 ssh -vvvv [email protected]
来检查是否提供了正确的文件。这是我的 .ssh/conf
文件。
HostName 10.107.105.13
User gitolite
IdentityFile ~/.ssh/gitolite
Host 10.107.105.13
HostName 10.107.105.13
User dilawar
IdentityFile ~/.ssh/id_rsa
我做错了什么?
最佳答案
在您的配置文件中,我看到:
User dilawar
那是错的。与 gitolite 服务器的 ssh 通信始终使用 与同一帐户 (此处为
gitolite
)完成。改变的是使用的私钥,这将有助于gitolite确定您的身份。
你的
~/.ssh/config
文件应该是这样的:Host admin
HostName 10.107.105.13
User gitolite
IdentityFile ~/.ssh/gitolite
Host dilawar
HostName 10.107.105.13
User gitolite
IdentityFile ~/.ssh/id_rsa
对于克隆
gitolite-admin
,您将使用:git clone admin:gitolite-admin
克隆一个 repo
dilawar
可以访问:git clone dilawar:aRepo
在“Gitolite: adding user not working, and DENIED by fallthru when cloning as root?”中查看更多信息。
另见“how gitolite uses ssh”
关于gitolite - 用户在使用 gitolite 时被要求输入密码,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/10906633/