Я настроил LDAP на CentOs 7 а теперь пытаюсь настроить внешняя аутентификация пользователя. Просматривая я нашел это: https://www.centos.org/docs/5/html/Deployment_Guide-en-US/s1-ldap-pam.html то есть для CentOS 5.
Также на других сайтах написано, что можно получить доступ для тестирования со следующим:
ssh my_LDAP_user@LDAP_hostname_or_IP:389
Но у меня не работает. CentOS выдает мне ошибку:
ssh: Could not resolve hostname hostname:389: Name or service not known
Когда я пытаюсь без 389, "Permission denied" и Я ввожу правильный пароль:
[root@localhost openldap]# ssh lolo@hostname
lolo@hostname's password:
Permission denied, please try again.
Вы знаете любые подсказки или направляющие линии немного отойти от этой дыры? Заранее спасибо!
РЕДАКТИРОВАТЬ:
Идея состоит в том, чтобы войти в LDAP извне. Я должен проверить, все ли в порядке. Вы поможете мне с некоторыми рекомендациями для этого?
Журнал службы nslcd:
gen 19 19:30:57 localhost nslcd[7020]: [ad6f57] <authc="test"> failed to bind to LDAP server ldap://ldap.192.168.150.105:389/: Can't contact LDAP server
gen 19 19:30:57 localhost nslcd[7020]: [ad6f57] <authc="test"> no available LDAP server found: Can't contact LDAP server
authconfig --test:
[root@localhost openldap]# authconfig --test
caching is disabled
nss_files is always enabled
nss_compat is disabled
nss_db is disabled
nss_hesiod is disabled
hesiod LHS = ""
hesiod RHS = ""
nss_ldap is enabled
LDAP+TLS is disabled
LDAP server = "ldap://192.168.150.105/"
LDAP base DN = "dc=example,dc=com"
nss_nis is disabled
NIS server = ""
NIS domain = ""
nss_nisplus is disabled
nss_winbind is disabled
SMB workgroup = "MYGROUP"
SMB servers = ""
SMB security = "user"
SMB realm = ""
Winbind template shell = "/bin/false"
SMB idmap range = "16777216-33554431"
nss_sss is enabled by default
nss_wins is disabled
nss_mdns4_minimal is disabled
DNS preference over NSS or WINS is disabled
pam_unix is always enabled
shadow passwords are enabled
password hashing algorithm is sha512
pam_krb5 is disabled
krb5 realm = "#"
krb5 realm via dns is disabled
krb5 kdc = ""
krb5 kdc via dns is disabled
krb5 admin server = ""
pam_ldap is enabled
LDAP+TLS is disabled
LDAP server = "ldap://192.168.150.105/"
LDAP base DN = "dc=example,dc=com"
LDAP schema = "rfc2307"
pam_pkcs11 is disabled
use only smartcard for login is disabled
smartcard module = ""
smartcard removal action = ""
pam_fprintd is disabled
pam_ecryptfs is disabled
pam_winbind is disabled
SMB workgroup = "MYGROUP"
SMB servers = ""
SMB security = "user"
SMB realm = ""
pam_sss is disabled by default
credential caching in SSSD is enabled
SSSD use instead of legacy services if possible is enabled
IPAv2 is disabled
IPAv2 domain was not joined
IPAv2 server = ""
IPAv2 realm = ""
IPAv2 domain = ""
pam_pwquality is enabled (try_first_pass local_users_only retry=3 authtok_type=)
pam_passwdqc is disabled ()
pam_access is disabled ()
pam_mkhomedir or pam_oddjob_mkhomedir is enabled (umask=0077)
Always authorize local users is enabled ()
Authenticate system accounts against network services is disabled
Возможно, что основная проблема Authenticate system accounts against network services is disabled
в последней строке authconfig --test
? В некоторых руководствах это появляется, но не является проблемой: - /
Я столкнулся с такой же проблемой, как и вы, когда я прочитал ваш пост, я не имел ни малейшего понятия, как решить эту проблему, но теперь я решил свою проблему. Вот мое решение:
Установить nss-pam-ldapd
если вы не устанавливали его ранее:
[root@www ~]# yum -y install nss-pam-ldapd
Отключить selinux
и перезагрузитесь:
[root@ldap ~]# vi /etc/selinux/config
Измените эту строку: selinux=disabled
Выполнить authconfig
:
#ldapserver=(LDAP server's hostname or IP address)
#ldapbasedn="dc=(your own domain name)"
[root@ldap ~]# authconfig --enableldap \
--enableldapauth \
--ldapserver=my.domain.world \
--ldapbasedn="dc=my,dc=domain,dc=world" \
--enablemkhomedir \
--update
getsebool: SELinux is disabled
Если вы используете TLS для своего LDAP, не забудьте выполнить это:
[root@ldap ~]# authconfig --enableldaptls --update
getsebool: SELinux is disabled
Может быть, мое решение может быть и вашим решением. : D
Несколько советов для вас:
- Отключите selinux и перезагрузитесь
# vi /etc/selinux/config
selinux=disabled
- Остановить iptables
# systemctl stop iptables.service
- Вы создали одного пользователя ldap? (попробуйте следующее руководство http://www.server-world.info/en/note?os=CentOS_7&p=openldap&f=2 )
- Редактировать / и т.д. / SSH / sshd_conf
PermitRootLogin yes
UsePAM yes
- Проверить логи в / var / журнал / безопасный