2

我使用 gitolite 脚本来创建项目(repos)并添加用户。我已经有 3 个用户 - 2 个是开发人员,1 个是 jenkins。

他们可以通过 ssh 访问(只需为每个密钥生成 RSA 密钥并将它们添加到 gitolite keydir,并将用户添加到 gitolite.conf)。这部分一切正常 - 3 个用户都可以访问存储库。

然后我尝试添加新的开发人员 - 他生成了密钥,我进行了所有必需的迭代以将他添加到项目中(编辑 gitolite.conf,将 .pub 密钥添加到 keydir)。但是……他的访问被拒绝了。我尝试从我的计算机生成新的密钥对并自己添加新用户(我用新的和尝试访问项目替换了我的工作(!)密钥) - 没有访问权限。

当我执行ssh -vvvv git@myserver.comssh-client 时,将 pub 密钥发送到服务器,但我在堆栈跟踪的末尾有以下几行:

debug1: Next authentication method: publickey
debug1: Trying private key: ~/.ssh/identity
debug3: no such identity: ~/.ssh/identity
debug1: Trying private key: ~/.ssh/id_rsa
debug1: read PEM private key done: type RSA
debug3: sign_and_send_pubkey
debug2: we sent a publickey packet, wait for reply
debug1: Authentications that can continue: publickey,password
debug1: Trying private key: ~/.ssh/id_dsa
debug3: no such identity: ~/.ssh/id_dsa
debug2: we did not send a packet, disable method
debug3: authmethod_lookup password
debug3: remaining preferred: ,password
debug3: authmethod_is_enabled password
debug1: Next authentication method: password
git@myserver.com's password:

当我使用我的旧(工作)密钥对时,ssh -vvvv git@myserver.com授予访问权限。

然后,我检查/git/.ssh/authorized_keys了服务器 - 一切正常 - 钥匙在正确的位置。检查服务器上的 keydir 文件夹 - 密钥在正确的位置。

然后我尝试从项目中删除并添加 jenkins 用户和密钥(我使用旧密钥) - 好的,访问权限被授予。然后我在服务器上为 jenkins 用户生成了新的密钥对,从项目中删除了用户并从 keydir 中删除了密钥,然后将新密钥添加到 gitolite keydir 和新 jenkins 用户到项目(gitolite.conf) - 没有访问权限。

有人有想法么?

PS 所有删除/添加用户/键操作均由 gitolite-admin 完成

4

0 回答 0