gpt4 book ai didi

ubuntu - GitLab LDAP 身份验证问题(SSL_connect、用户身份验证)

转载 作者:太空宇宙 更新时间:2023-11-03 16:51:40 27 4
gpt4 key购买 nike

我在通过我的 GitLab 服务器验证 LDAP 登录时遇到了问题。两台服务器都在 Ubuntu 16.04 上,几乎是在 Google Cloud 上全新设置的。

这是我的 gitlab.rb 文件的 ldap 部分的样子:

gitlab_rails['ldap_servers'] = YAML.load <<-'EOS'
main:
label: 'LDAP'
host: '<internal IP of domain controller>'
port: 389
uid: 'uid'
bind_dn: 'CN=admin,DC=<project_name>,DC=local'
password: '<password>'
encryption: 'simple_tls' # "start_tls" or "simple_tls" or "plain"
verify_certificates: false
active_directory: false
allow_username_or_email_login: true
lowercase_usernames: false
block_auto_created_users: false
base: 'CN=GitLab,DC=<project_name>,DC=local'
user_filter: ''

最初,我有 encryption: 'plain' 哪种方式有效。当我使用命令 sudo gitlab-rake gitlab:ldap:check 而加密设置为普通时,我实际上得到了一个可以访问服务器的用户列表:

Checking LDAP ...

Server: ldapmain
LDAP authentication... Success
LDAP users with access to your GitLab server (only showing the first 100 results)
DN: cn=<name1>,cn=gitlab,dc=<project_name>,dc=local uid: <username1>
DN: cn=<name2>,cn=gitlab,dc=<project_name>,dc=local uid: <username2>
DN: cn=<name3>,cn=gitlab,dc=<project_name>,dc=local uid: <username3>

Checking LDAP ... Finished

这让我觉得一切都准备就绪,但是当我尝试使用这三个用户之一登录时,它无法正确验证。尽管正确,但 gitlab 页面上显示的错误类似于“Falied to authentication user: incorrect credentials for username”。 (除非我在这里不正确:我一直在使用 uid 进行登录)

这让我认为它与加密有关,因为用户如上所示清楚地显示并且正在建立连接。所以我尝试更改 encryption: simple_tls 因为似乎大多数 GitLab with LDAP 教程都使用相同的设置。当我尝试 sudo gitlab-rake gitlab:ldap:check

时,这给了我新的错误
Checking LDAP ...
Server: ldapmain
rake aborted!
Net::LDAP::Error: SSL_connect SYSCALL returned=5 errno=0 state=SSLv2/v3 read server hello A
/opt/gitlab/embedded/service/gitlab-rails/lib/gitlab/auth/ld/adapter.rb:8:in `open'
/opt/gitlab/embedded/service/gitlab-rails/lib/tasks/gitlab/check.rake:355:in `block in check_ldap'
/opt/gitlab/embedded/service/gitlab-rails/lib/tasks/gitlab/check.rake:351:in `each'
/opt/gitlab/embedded/service/gitlab-rails/lib/tasks/gitlab/check.rake:351:in `check_ldap'
/opt/gitlab/embedded/service/gitlab-rails/lib/tasks/gitlab/check.rake:340:in `block (3 levels) in <top (required)>'
/opt/gitlab/embedded/bin/bundle:23:in `load'
/opt/gitlab/embedded/bin/bundle:23:in `<main>'

我已经阅读过,似乎这个错误可能是由与 OpenSSL 的某种版本不匹配引起的,但所有建议的解决方案都还没有奏效。

所以我很好奇是否有人可以帮助我解决这些问题中的任何一个(以更容易的为准):要么更改我的 LDAP 服务器以使用简单例份验证,要么修复 gitlab/ldap 服务器以使用 simple_tls。

最佳答案

以某种方式修复了它。我将加密切换回 encryption:'plain' 因为我觉得我离它越来越近了(因为至少 gitlab-rake gitlab:ldap:check 返回了正确的用户名).我所做的只是让我的 LDAP 中的用户使用“clear”而不是“md5”存储他们的密码,并在两台服务器上运行 update-ca-certificates。密码存储在 md5 中的任何 LDAP 用户都不起作用。

我知道这是一个不安全的解决方案,所以我仍然有兴趣听听其他关于使用 tls_simple 的想法,以帮助可能遇到此线程的人。

关于ubuntu - GitLab LDAP 身份验证问题(SSL_connect、用户身份验证),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49742150/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com