GitLab v6.2.0.666849b之前版本-通过ssh克隆时拒绝访问 更新

GitLab v6.2.0.666849b之前版本-通过ssh克隆时拒绝访问 更新,gitlab,Gitlab,这是用户特定的。当我卷曲url时 http://localhost//api/v3/internal/allowed?key_id=22&action=git-upload-pack&ref=_any&project=analytics/dns-website 从使用ID22的GitLab服务器,如果响应为“false”。如果我将密钥id更改为另一个用户的密钥id,则响应为“true” 每当我使用LDAP凭据克隆现有git repo(或从远程推/拉)时,都会出现以下错

这是用户特定的。当我卷曲url时

http://localhost//api/v3/internal/allowed?key_id=22&action=git-upload-pack&ref=_any&project=analytics/dns-website
从使用ID22的GitLab服务器,如果响应为“false”。如果我将密钥id更改为另一个用户的密钥id,则响应为“true”


每当我使用LDAP凭据克隆现有git repo(或从远程推/拉)时,都会出现以下错误:

访问被拒绝。
致命:远程端意外挂起

其他域中的LDAP用户不受影响

我删除了一个公钥并将其重新添加到我的GitLab配置文件中,我可以成功地测试ssh连接:

#ssh -vT git@git.mysite.com

OpenSSH_5.9p1, OpenSSL 0.9.8y 5 Feb 2013
...
Welcome to GitLab, Keith Harris!
...
debug1: Exit status 0
gitlab-shell.log报告以下错误: W、 [2013-10-15T16:55:43.226875#23590]警告--:gitlab shell:使用key-22的用户拒绝访问git命令


我现在结束这个问题,并将问另一个问题,因为我知道这个问题与GitLab配置无关

我发现api调用只有在我的域中的用户失败,其他企业域中的用户不受影响

lib/api/internal.rb行#38返回false,因为Gitlab::LDAP::User.blocked?(User.extern\u uid)=true

更新 我用PR#5400让它工作

需要更新lib/gitlab/ldap/user.rb:

def blocked?(dn)
    ldap = OmniAuth::LDAP::Adaptor.new(ldap_conf)
    ldap.connection.search(base: dn, scope: Net::LDAP::SearchScope_BaseObject, size: 1).blank?
end

我不认为这是一个配置问题。通过将STDERROR.puts语句添加到允许的?函数/home/git/gitlab shell/lib/gitlab_net.rb,我确定url为:当我卷曲url时,如果响应为“false”。如果我将key_id更改为另一个用户的key_id,则响应为“true”。上面的pull请求为我修复了它。更改user.rb文件修复了此问题。谢谢。我有完全相同的问题和错误消息。是由LDAP服务器中最近的更改(将用户从一个OU移动到另一个OU)引起的。您为我指出了正确的方向(LDAP)。我已经更新了
users
extern\u uid
数据库的列以反映这些更改,GitLab clone/access再次工作。