我使用gitolite脚本来创建项目(repos)并添加用户。 我已经有3个用户 - 其中2个是开发人员,1个是jenkins。
他们可以通过ssh访问(只需为每一个生成RSA密钥,并将它们添加到gitolite keydir,并将用户添加到gitolite.conf)。在这部分中可以理解 - 所有3个用户都可以访问存储库。
然后我尝试添加新的开发人员 - 他生成了密钥,我做了所有必需的迭代,将他添加到项目中(编辑gitolite.conf,将.pub密钥添加到keydir)。 但是......他的访问被拒绝了。我试图生成新的密钥对,并从我的计算机中自己添加了新用户(我用新的替换了我的工作(!)密钥并尝试访问项目) - 无法访问。
当我执行ssh -vvvv git@myserver.com
ssh-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) - 无法访问。
有人有什么想法吗?
P.S。所有删除/添加用户/密钥的操作都是由gitolite-admin
完成的