我已经在服务器(比如) gitolite-admin.git 上成功创建了 10.107.105.13 存储库。我可以通过发出 10.14.42.7 在我的本地机器上克隆这个 repo(比如) git clone [email protected]:gitolite-admin 。我必须在 .ssh/config 文件中添加一些行以确保使用正确的私钥。

然后我添加了一个用户 dilawarconf/gitolite.conf 文件和一个适当的键 dilawar.pubkeys 文件夹。我已将此提交添加并提交到 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/

10-13 07:16