使用gitolite时会要求用户输入密码

Dil*_*war 6 gitolite

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

然后,我添加了一个用户dilawarconf/gitolite.conf文件,并将相应的键dilawar.pubkeys文件夹中.我已经添加并将此提交提交给gitolite-adminrepo.我还在.ssh/conf文件中添加了一个条目,以便使用正确的私钥.但是当我尝试做的时候git clone dilawar@10.107.105.13:testing,gitolite要求输入密码.我的印象是我不必在10.107.105.13上创建用户dilawar.我已通过登录服务器检查存储库testing.git是否存在以及公钥dilawar.pub已被添加到.ssh/authorized_keys.

我还试图ssh -vvvv dilawar@10.107.105.13检查是否提供了正确的文件.这是我的.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
Run Code Online (Sandbox Code Playgroud)

我做错了什么?

Von*_*onC 9

在配置文件中,我看到:

User dilawar
Run Code Online (Sandbox Code Playgroud)

那是错的.与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
Run Code Online (Sandbox Code Playgroud)

对于克隆gitolite-admin,您将使用:

git clone admin:gitolite-admin
Run Code Online (Sandbox Code Playgroud)

对于克隆,repo dilawar可以访问:

git clone dilawar:aRepo
Run Code Online (Sandbox Code Playgroud)

有关详细信息,请参阅" Gitolite:添加用户无法正常工作,以及以root身份克隆时被fallthru拒绝? ".
另见" gitolite如何使用ssh "

将公钥添加到服务器的~git/.ssh/authorized_keys文件是ssh如何使用pubkeys对用户进行身份验证.
假设sita@work.station是尝试登录为git@server.
你所要做的是把~sita/.ssh/id_rsa.pub用户文件sita的工作,站上和追加的内容(记住它的只有一行),以~git/.ssh/authorized_keys 供用户git在服务器上.

authorized_keys文件可以添加多个公钥(来自许多不同的人),因此任何人都可以登录git@server.