Puncte:1

LDAP găsește utilizatorul, dar „permisiunea refuzată” la conectare

drapel aw

Configurez un client LDAP în Red Hat 8.

După configurarea fișierelor de configurare, am făcut un test de utilizator LDAP și a revenit cu succes:

# id-ul meuutilizator
uid=666(myusername) gid=510(active_users) groups=510(active_users)

Dacă conduc un ldapsearch se întoarce cu succes cu rezultatele așteptate:

# ldapsearch -x -ZZ -h ldap.example.com -b dc=example,dc=com

Dar dacă încerc ssh la mașina Red Hat 8 de la o altă mașină, apoi primesc această eroare:

# ssh [email protected]
Parola [email protected]:
Permisiune refuzată, vă rugăm să încercați din nou.

Am încercat câteva mașini diferite cu conturi de utilizator diferite și am obținut aceleași rezultate.

Iată configurația mea:

/etc/sssd/sssd.conf

[domeniu/implicit]
ldap_tls_reqcert = cerere
cache_credentials = Fals
ldap_search_base = dc=exemplu,dc=com
id_provider = ldap
auth_provider = ldap
chpass_provider = ldap
ldap_uri = ldaps://ldap.example.com/
ldap_id_use_start_tls = Fals
ldap_tls_cacert = /etc/sssd/ca-bundle.crt

[sssd]
config_file_version = 2
servicii = nss, pam, ssh
domenii = implicit

[nss]
homedir_substring = /home

/etc/openldap/ldap.conf

TLS_CACERT /etc/sssd/ca-bundle.crt

#BASE dc=exemplu,dc=com
#URI ldap://ldap.example.com/
SASL_NOCANON activat
URI ldaps://ldap.example.com/
BASE dc=exemplu,dc=com
TLS_CACERTDIR /etc/sssd

/etc/nsswitch.conf

# Generat de authselect pe Thu Jan 27 15:22:08 2022
# Nu modificați acest fișier manual.

passwd: fișiere sss systemd
grup: fișiere sss systemd
netgroup: fișiere sss
montare automată: fișiere sss
servicii: fișiere sss

# passwd: fișiere db
# umbră: fișiere db
# grup: fișiere db

# În ordinea probabilității de utilizare pentru a accelera căutarea.
shadow: fișiere sss
hosts: fișiere dns myhostname

aliasuri: fișiere
eteri: fișiere
gshadow: fișiere
# Permiteți initgroups-ului să fie implicit la setarea pentru grup.
# initgroups: fișiere
rețele: fișiere dns
protocoale: fișiere
cheie publică: fișiere
rpc: fișiere

/etc/sysconfig/authconfig

USELDAP=da
USELDAPAUTH=da

/etc/pam.d/password-auth

# Generat de authselect pe Thu Jan 27 15:22:08 2022
# Nu modificați acest fișier manual.

auth required pam_env.so
auth required pam_faildelay.so delay=2000000
auth [default=1 ignore=ignore success=ok] pam_usertype.so isregular
auth [default=1 ignore=ignore success=ok] pam_localuser.so
auth suficient pam_unix.so nullok
auth [default=1 ignore=ignore success=ok] pam_usertype.so isregular
auth suficient pam_sss.so forward_pass
auth required pam_deny.so

cont este necesar pam_unix.so
cont suficient pam_localuser.so
cont suficient pam_usertype.so issystem
cont [implicit=succes prost=ok user_unknown=ignora] pam_sss.so
cont este necesar pam_permit.so

parola necesară pam_pwquality.so local_users_only
parolă suficientă pam_unix.so sha512 shadow nullok use_authtok
parolă suficientă pam_sss.so use_authtok
parola necesară pam_deny.so

sesiune opțională pam_keyinit.so revoke
sesiune necesară pam_limits.so
-session opțional pam_systemd.so
sesiune [success=1 default=ignore] serviciul pam_succeed_if.so în crond quiet use_uid
sesiune necesară pam_unix.so
sesiune opțională pam_sss.so

/etc/pam.d/system-auth

# Generat de authselect pe Thu Jan 27 15:22:08 2022
# Nu modificați acest fișier manual.

auth required pam_env.so
auth required pam_faildelay.so delay=2000000
auth [default=1 ignore=ignore success=ok] pam_usertype.so isregular
auth [default=1 ignore=ignore success=ok] pam_localuser.so
auth suficient pam_unix.so nullok
auth [default=1 ignore=ignore success=ok] pam_usertype.so isregular
auth suficient pam_sss.so forward_pass
auth required pam_deny.so

cont este necesar pam_unix.so
cont suficient pam_localuser.so
cont suficient pam_usertype.so issystem
cont [implicit=succes prost=ok user_unknown=ignora] pam_sss.so
cont este necesar pam_permit.so

parola necesară pam_pwquality.so local_users_only
parolă suficientă pam_unix.so sha512 shadow nullok use_authtok
parolă suficientă pam_sss.so use_authtok
parola necesară pam_deny.so

sesiune opțională pam_keyinit.so revoke
sesiune necesară pam_limits.so
-session opțional pam_systemd.so
sesiune [success=1 default=ignore] serviciul pam_succeed_if.so în crond quiet use_uid
sesiune necesară pam_unix.so
sesiune opțională pam_sss.so

/etc/ssh/sshd_config

# $OpenBSD: sshd_config,v 1.103 2018/04/09 20:41:22 tj Exp $

HostKey /etc/ssh/ssh_host_rsa_key
HostKey /etc/ssh/ssh_host_ecdsa_key
HostKey /etc/ssh/ssh_host_ed25519_key

# Logare
#SyslogFacility AUTH
SyslogFacility AUTHPRIV
INFORMAȚII #LogLevel

# Autentificare:
PermitRootLogin da
AuthorizedKeysFile .ssh/authorized_keys

# Pentru a dezactiva parolele de text clar tunelizate, schimbați la nu aici!
#PasswordAuthentication da
#PermitEmptyPasswords nr
Autentificare prin parolă da

# Schimbați la nu pentru a dezactiva parolele s/key
#ChallengeResponseAuthentication da
ChallengeResponseAuthentication nr

# Opțiuni GSSAPI
Autentificare GSSAPI da
GSSAPICleanupCredentials nr
#GSSAPIStrictAcceptorCheck da
#GSSAPIKeyExchange nr
#GSSAPIEnablek5users nr

Folosește PAM da

X11 Redirecționare da

# Este recomandat să folosiți pam_motd în /etc/pam.d/sshd în loc de PrintMotd,
# deoarece este mai configurabil și mai versatil decât versiunea încorporată.
PrintMotd nr

ClientAliveInterval 600
ClientAliveCountMax 0

# Acceptați variabilele de mediu legate de local
AcceptEnv LANG LC_CTYPE LC_NUMERIC LC_TIME LC_COLLATE LC_MONETARY LC_MESSAGES
AcceptEnv LC_PAPER LC_NAME LC_ADDRESS LC_TELEPHONE LC_MEASUREMENT
AcceptEnv LC_IDENTIFICATION LC_ALL LANGUAGE
AcceptEnv XMODIFIERS

# suprascrie valoarea implicită fără subsisteme
Subsistemul sftp /usr/libexec/openssh/sftp-server

/var/log/secure

28 ian 08:35:39 opal sshd[206875]: pam_unix(sshd:auth): eșec de autentificare; logname= uid=0 euid=0 tty=ssh ruser= rhost=xxx.xxx.xxx.xxx user=numele meu de utilizator
28 ianuarie 08:35:40 opal sshd[206875]: parolă eșuată pentru numele meu de utilizator din portul xxx.xxx.xxx.xxx 60384 ssh2

Încercări

Am incercat urmatoarele:

  • Dezactivează selinux în /etc/selinux/config
  • Oprirea iptables.service
  • Adăugând PermitRootLogin da și Folosește PAM da la Red Hat 8 /etc/ssh/sshd_conf fişier
  • A încercat în mod repetat authselect selectați sssd, apoi reporniți sssd.service
  • Adăugând FORCELEGACY=da în /etc/sysconfig/authconfig

Întrebare

Mă poate ajuta cineva să înțeleg de ce utilizatorii nu pot folosi SSH pentru a se conecta la acest server?

drapel cn
Ați încercat să vă conectați la *ambele* sisteme ca utilizator *non-LDAP* și să efectuați comanda `id` pe ambele? Aceasta ar identifica dacă este o problemă de alăturare a unui domeniu sau altceva.
drapel aw
@shearn89 M-am autentificat ca utilizator non-LDAP și am efectuat comanda `id` pe mașina Red Hat. De la mașinile de pe care încerc să fac SSH, pot să fac SSH către alte mașini care folosesc utilizatori LDAP.
drapel cn
Ne pare rău, mașina Red Hat este serverul sau clientul? Puteți testa comanda `id` atât pe server cât și pe client.
drapel aw
Aparatul Red Hat este un server. Da, comanda `id` funcționează atât pe server, cât și pe client.
drapel cn
Timpul este sincronizat între ambele?
drapel aw
Bună întrebare, am verificat și da sunt sincronizate
Puncte:0
drapel aw

Am găsit în sfârșit o soluție, prin crearea unui custom authselect profil cu personalizare autentificare prin parolă, sistem-auth, și nsswitch.conf fișiere.

1. Creați un profil personalizat bazat pe sssd

authselect create-profile user-profile -b sssd

2. Suprascrie /etc/authselect/custom/user-profile/password-auth și /etc/authselect/custom/user-profile/system-auth cu următoarele setări

auth required pam_env.so
auth suficient pam_unix.so nullok try_first_pass
auth suficient pam_sss.so
cerință de auth pam_succeed_if.so uid >= 1000 quiet_success
auth required pam_deny.so

cont este necesar pam_unix.so
cont suficient pam_sss.so
cont suficient pam_localuser.so
cont suficient pam_succeed_if.so uid < 1000 quiet
cont necesar pam_permit.so

parola necesară pam_pwquality.so try_first_pass local_users_only retry=3 authtok_type=
parolă suficientă pam_sss.so
parolă suficientă pam_unix.so sha512 shadow nullok try_first_pass use_authtok
parola necesară pam_deny.so

sesiune opțională pam_keyinit.so revoke
sesiune necesară pam_limits.so
-session opțional pam_systemd.so
sesiune opțională pam_mkhomedir.so umask=0077
sesiune [success=1 default=ignore] serviciul pam_succeed_if.so în crond quiet use_uid
sesiune suficientă pam_sss.so
sesiune necesară pam_unix.so

3. Suprascrie /etc/authselect/custom/user-profile/nsswitch.conf cu următoarele setări

passwd: fișiere sss {exclude if "with-custom-passwd"}
shadow: fișiere sss
grup: fișiere sss {exclude if "with-custom-group"}
măști de rețea: fișiere
rețele: fișiere
netgroup: fișiere sss {exclude if "with-custom-netgroup"}
automount: fișiere sss {exclude if "with-custom-automount"}
servicii: fișiere sss {exclude if "with-custom-services"}
sudoers: fișiere sss {exclude if "with-sudo"}

4. Selectați un profil nou

authselect selectați personalizat/profil de utilizator

5. Reporniți sssd

systemctrl reporniți sssd

Postează un răspuns

Majoritatea oamenilor nu înțeleg că a pune multe întrebări deblochează învățarea și îmbunătățește legătura interpersonală. În studiile lui Alison, de exemplu, deși oamenii își puteau aminti cu exactitate câte întrebări au fost puse în conversațiile lor, ei nu au intuit legătura dintre întrebări și apreciere. În patru studii, în care participanții au fost implicați în conversații ei înșiși sau au citit transcrieri ale conversațiilor altora, oamenii au avut tendința să nu realizeze că întrebarea ar influența – sau ar fi influențat – nivelul de prietenie dintre conversatori.