Score:1

LDAP ค้นหาผู้ใช้ แต่ "การอนุญาตถูกปฏิเสธ" เมื่อเข้าสู่ระบบ

ธง aw

ฉันกำลังตั้งค่าไคลเอ็นต์ LDAP ใน Red Hat 8

หลังจากตั้งค่าไฟล์คอนฟิกแล้ว ฉันได้ทำการทดสอบโดยผู้ใช้ LDAP และกลับมาได้สำเร็จ:

#ไอดี myusername
uid=666(ชื่อผู้ใช้ของฉัน) gid=510(active_users) กลุ่ม=510(active_users)

ถ้าฉันเรียกใช้ไฟล์ ldapsearch มันกลับประสบความสำเร็จด้วยผลลัพธ์ที่คาดหวัง:

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

แต่ถ้าฉันพยายามที่จะ จุ๊ๆ ไปยังเครื่อง Red Hat 8 จากเครื่องอื่น จากนั้นฉันได้รับข้อผิดพลาดนี้:

# ssh [email protected]
[email protected] รหัสผ่าน:
สิทธิ์ถูกปฏิเสธ โปรดลองอีกครั้ง

ฉันได้ลองใช้เครื่องที่แตกต่างกันสองเครื่องด้วยบัญชีผู้ใช้ที่แตกต่างกันและได้ผลลัพธ์เดียวกัน

นี่คือการตั้งค่าของฉัน:

/etc/sssd/sssd.conf

[โดเมน/ค่าเริ่มต้น]
ldap_tls_reqcert = ความต้องการ
cache_credentials = เท็จ
ldap_search_base = dc=ตัวอย่าง,dc=com
id_provider = ldap
auth_provider = ldap
chpass_provider = ldap
ldap_uri = ldaps://ldap.example.com/
ldap_id_use_start_tls = เท็จ
ldap_tls_cacert = /etc/sssd/ca-bundle.crt

[sssd]
config_file_version = 2
บริการ = nss, แพม, ssh
โดเมน = ค่าเริ่มต้น

[nss]
homedir_substring = /บ้าน

/etc/openldap/ldap.conf

TLS_CACERT /etc/sssd/ca-bundle.crt

#BASE dc=ตัวอย่าง,dc=com
#URI ldap://ldap.example.com/
เปิด SASL_NOCANON
URI ldaps://ldap.example.com/
BASE dc=ตัวอย่าง,dc=com
TLS_CACERTDIR /etc/sssd

/etc/nsswitch.conf

# สร้างโดย authselect ในวันพฤหัสบดีที่ 27 มกราคม 15:22:08 น. 2565
# อย่าแก้ไขไฟล์นี้ด้วยตนเอง

passwd: ไฟล์ sss systemd
กลุ่ม: ไฟล์ sss systemd
netgroup: ไฟล์ sss
automount: ไฟล์ sss
บริการ: ไฟล์ sss

# passwd: ไฟล์ db
# เงา: ไฟล์ db
# กลุ่ม: ไฟล์ db

# ตามลำดับความน่าจะเป็นในการใช้งานเพื่อเร่งการค้นหา
เงา: ไฟล์ sss
โฮสต์: ไฟล์ DNS ชื่อโฮสต์ของฉัน

นามแฝง: ไฟล์
อีเธอร์: ไฟล์
gshadow: ไฟล์
# อนุญาตให้ initgroups เป็นค่าเริ่มต้นสำหรับการตั้งค่าสำหรับกลุ่ม
# initgroups: ไฟล์
เครือข่าย: ไฟล์ DNS
โปรโตคอล: ไฟล์
พับลิกคีย์: ไฟล์
rpc: ไฟล์

/etc/sysconfig/authconfig

USELDAP=ใช่
USELDAPAUTH=ใช่

/etc/pam.d/password-auth

# สร้างโดย authselect ในวันพฤหัสบดีที่ 27 มกราคม 15:22:08 น. 2565
# อย่าแก้ไขไฟล์นี้ด้วยตนเอง

การตรวจสอบสิทธิ์ต้องการ pam_env.so
การตรวจสอบสิทธิ์ต้องการ pam_faildelay.so ล่าช้า=2000000
รับรองความถูกต้อง [ค่าเริ่มต้น=1 เพิกเฉย=เพิกเฉยต่อความสำเร็จ=ตกลง] pam_usertype.so ผิดปกติ
รับรองความถูกต้อง [ค่าเริ่มต้น=1 ละเว้น=ละเว้นความสำเร็จ=ตกลง] pam_localuser.so
รับรองความถูกต้องเพียงพอ pam_unix.so nullok
รับรองความถูกต้อง [ค่าเริ่มต้น=1 เพิกเฉย=เพิกเฉยต่อความสำเร็จ=ตกลง] pam_usertype.so ผิดปกติ
รับรองความถูกต้องเพียงพอ pam_sss.so forward_pass
จำเป็นต้องมีการตรวจสอบสิทธิ์ pam_deny.so

ต้องใช้บัญชี pam_unix.so
บัญชี pam_localuser.so เพียงพอ
บัญชีเพียงพอ pam_usertype.so issystem
บัญชี [default=bad success=ok user_unknown=ignore] pam_sss.so
ต้องใช้บัญชี pam_permit.so

ต้องใช้รหัสผ่าน pam_pwquality.so local_users_only
รหัสผ่านเพียงพอ pam_unix.so sha512 shadow nullok use_authtok
รหัสผ่านเพียงพอ pam_sss.so use_authtok
ต้องใช้รหัสผ่าน pam_deny.so

เซสชั่นทางเลือก pam_keyinit.so ยกเลิก
ต้องการเซสชัน pam_limits.so
- เซสชั่นทางเลือก pam_systemd.so
เซสชัน [success=1 default=ignore] บริการ pam_succeed_if.so ใน use_uid ที่เงียบสงบ
ต้องการเซสชัน pam_unix.so
เซสชั่นทางเลือก pam_sss.so

/etc/pam.d/system-auth

# สร้างโดย authselect ในวันพฤหัสบดีที่ 27 มกราคม 15:22:08 น. 2565
# อย่าแก้ไขไฟล์นี้ด้วยตนเอง

การตรวจสอบสิทธิ์ต้องการ pam_env.so
การตรวจสอบสิทธิ์ต้องการ pam_faildelay.so ล่าช้า=2000000
รับรองความถูกต้อง [ค่าเริ่มต้น=1 เพิกเฉย=เพิกเฉยต่อความสำเร็จ=ตกลง] pam_usertype.so ผิดปกติ
รับรองความถูกต้อง [ค่าเริ่มต้น=1 ละเว้น=ละเว้นความสำเร็จ=ตกลง] pam_localuser.so
รับรองความถูกต้องเพียงพอ pam_unix.so nullok
รับรองความถูกต้อง [ค่าเริ่มต้น=1 เพิกเฉย=เพิกเฉยต่อความสำเร็จ=ตกลง] pam_usertype.so ผิดปกติ
รับรองความถูกต้องเพียงพอ pam_sss.so forward_pass
จำเป็นต้องมีการตรวจสอบสิทธิ์ pam_deny.so

ต้องใช้บัญชี pam_unix.so
บัญชี pam_localuser.so เพียงพอ
บัญชีเพียงพอ pam_usertype.so issystem
บัญชี [default=bad success=ok user_unknown=ignore] pam_sss.so
ต้องใช้บัญชี pam_permit.so

ต้องใช้รหัสผ่าน pam_pwquality.so local_users_only
รหัสผ่านเพียงพอ pam_unix.so sha512 shadow nullok use_authtok
รหัสผ่านเพียงพอ pam_sss.so use_authtok
ต้องใช้รหัสผ่าน pam_deny.so

เซสชั่นทางเลือก pam_keyinit.so ยกเลิก
ต้องการเซสชัน pam_limits.so
- เซสชั่นทางเลือก pam_systemd.so
เซสชัน [success=1 default=ignore] บริการ pam_succeed_if.so ใน use_uid ที่เงียบสงบ
ต้องการเซสชัน pam_unix.so
เซสชั่นทางเลือก pam_sss.so

/etc/ssh/sshd_config

# $OpenBSD: sshd_config,v 1.103 2018/04/09 20:41:22 tj ประสบการณ์ $

โฮสต์คีย์ /etc/ssh/ssh_host_rsa_key
โฮสต์คีย์ /etc/ssh/ssh_host_ecdsa_key
โฮสต์คีย์ /etc/ssh/ssh_host_ed25519_key

#บันทึก
#SyslogFacility AUTH
SyslogFacility AUTHPRIV
ข้อมูล #LogLevel

# การรับรองความถูกต้อง:
PermitRootLogin ใช่
AuthorizedKeysFile .ssh/authorized_keys

# หากต้องการปิดใช้งานรหัสผ่านข้อความธรรมดาแบบ Tunneled ให้เปลี่ยนเป็นไม่ที่นี่!
#PasswordAuthentication ใช่
#PermitEmptyPasswords เลขที่
การตรวจสอบรหัสผ่านใช่

# เปลี่ยนเป็น no เพื่อปิดใช้งานรหัสผ่าน s/key
#ChallengeResponseAuthentication ใช่
ChallengeResponseAuthentication เลขที่

# ตัวเลือก GSSAPI
การตรวจสอบ GSSAPIA ใช่
หมายเลขประจำตัว GSSAPICleanup
#GSSAPIStrictAcceptorตรวจสอบว่าใช่
#GSSAPIKeyExchange หมายเลข
#GSSAPIEnablek5ผู้ใช้หมายเลข

ใช้ PAM ใช่

X11การส่งต่อใช่

# ขอแนะนำให้ใช้ pam_motd ใน /etc/pam.d/sshd แทน PrintMotd
# เนื่องจากสามารถกำหนดค่าและใช้งานได้หลากหลายกว่ารุ่นในตัว
เลขที่พิมพ์

ClientAliveInterval 600
ClientAliveCountสูงสุด 0

# ยอมรับตัวแปรสภาพแวดล้อมที่เกี่ยวข้องกับสถานที่
ยอมรับ Env LANG LC_CTYPE LC_NUMERIC LC_TIME LC_COLLATE LC_MONETARY LC_MESSAGES
ยอมรับ Env LC_PAPER LC_NAME LC_ADDRESS LC_TELEPHONE LC_MEASUREMENT
ยอมรับ Env LC_IDENTIFICATION LC_ALL LANGUAGE
ยอมรับ Env XMODIFIERS

# ลบล้างค่าเริ่มต้นที่ไม่มีระบบย่อย
ระบบย่อย sftp /usr/libexec/openssh/sftp-server

/var/log/secure

28 ม.ค. 08:35:39 น. opal sshd[206875]: pam_unix(sshd:auth): การตรวจสอบสิทธิ์ล้มเหลว; ชื่อล็อก= uid=0 euid=0 tty=ssh ruser= rhost=xxx.xxx.xxx.xxx ผู้ใช้=ชื่อผู้ใช้ของฉัน
28 ม.ค. 08:35:40 น. opal sshd[206875]: รหัสผ่านสำหรับชื่อผู้ใช้ของฉันล้มเหลวจากพอร์ต xxx.xxx.xxx.xxx 60384 ssh2

ความพยายาม

ฉันได้ลองสิ่งต่อไปนี้แล้ว:

  • ปิดใช้งาน selinux ใน /etc/selinux/config
  • กำลังหยุด iptables.service
  • การเพิ่ม PermitRootLogin ใช่ และ ใช้ PAM ใช่ สู่ Red Hat 8 /etc/ssh/sshd_conf ไฟล์
  • พยายามซ้ำแล้วซ้ำเล่า authselect เลือก sssdแล้วรีสตาร์ท sssd.service
  • การเพิ่ม FORCELEGACY=ใช่ ใน /etc/sysconfig/authconfig

คำถาม

ใครสามารถช่วยฉันหาสาเหตุที่ผู้ใช้ไม่สามารถใช้ SSH เพื่อเข้าสู่ระบบเซิร์ฟเวอร์นี้

cn flag
คุณได้ลองเข้าสู่ระบบ *ทั้งสอง* ในฐานะผู้ใช้ *ไม่ใช่ LDAP* และทำคำสั่ง `id` บนทั้งสองระบบหรือไม่ ซึ่งจะระบุว่าเป็นปัญหาการเข้าร่วมโดเมนหรืออย่างอื่น
aw flag
@shearn89 ฉันเข้าสู่ระบบในฐานะผู้ใช้ที่ไม่ใช่ LDAP และดำเนินการคำสั่ง `id` บนเครื่อง Red Hat จากเครื่องที่ฉันพยายามใช้ SSH ฉันสามารถ SSH ไปยังเครื่องอื่นโดยใช้ผู้ใช้ LDAP
cn flag
ขออภัย เครื่อง Red Hat เป็นเซิร์ฟเวอร์หรือไคลเอ็นต์ คุณสามารถทดสอบคำสั่ง `id` บนทั้งเซิร์ฟเวอร์และไคลเอ็นต์ได้หรือไม่
aw flag
เครื่อง Red Hat เป็นเซิร์ฟเวอร์ ใช่ คำสั่ง `id` ใช้งานได้ทั้งบนเซิร์ฟเวอร์และไคลเอนต์
cn flag
เวลาตรงกันระหว่างทั้งสองหรือไม่
aw flag
เป็นคำถามที่ดี ฉันตรวจสอบแล้วและใช่ พวกเขาซิงค์กัน
Score:0
ธง aw

ในที่สุดฉันก็พบวิธีแก้ปัญหาด้วยการสร้างแบบกำหนดเอง รับรองความถูกต้อง โปรไฟล์ที่กำหนดเอง รหัสผ่าน-auth, ระบบรับรองความถูกต้อง, และ nsswitch.conf ไฟล์.

1. สร้างโปรไฟล์ที่กำหนดเองตาม sssd

รับรองความถูกต้อง เลือกสร้างโปรไฟล์ โปรไฟล์ผู้ใช้ -b sssd

2. เขียนทับ /etc/authselect/custom/user-profile/password-auth และ /etc/authselect/custom/user-profile/system-auth ด้วยการตั้งค่าต่อไปนี้

การตรวจสอบสิทธิ์ต้องการ pam_env.so
รับรองความถูกต้องเพียงพอ pam_unix.so nullok try_first_pass
รับรองความถูกต้องเพียงพอ pam_sss.so
การตรวจสอบสิทธิ์ที่จำเป็น pam_succeed_if.so uid >= 1,000 quiet_success
จำเป็นต้องมีการตรวจสอบสิทธิ์ pam_deny.so

ต้องใช้บัญชี pam_unix.so
บัญชีเพียงพอ pam_sss.so
บัญชี pam_localuser.so เพียงพอ
บัญชีเพียงพอ pam_succeed_if.so uid < 1,000 เงียบ
ต้องใช้บัญชี pam_permit.so

ต้องใช้รหัสผ่าน pam_pwquality.so try_first_pass local_users_only ลองใหม่=3 authtok_type=
รหัสผ่านเพียงพอ pam_sss.so
รหัสผ่านเพียงพอ pam_unix.so sha512 shadow nullok try_first_pass use_authtok
ต้องใช้รหัสผ่าน pam_deny.so

เซสชั่นทางเลือก pam_keyinit.so ยกเลิก
ต้องการเซสชัน pam_limits.so
- เซสชั่นทางเลือก pam_systemd.so
เซสชั่นทางเลือก pam_mhomedir.so umask=0077
เซสชัน [success=1 default=ignore] บริการ pam_succeed_if.so ใน use_uid ที่เงียบสงบ
เซสชันเพียงพอ pam_sss.so
ต้องการเซสชัน pam_unix.so

3. เขียนทับ /etc/authselect/custom/user-profile/nsswitch.conf ด้วยการตั้งค่าต่อไปนี้

passwd: ไฟล์ sss {ไม่รวม if "with-custom-passwd"}
เงา: ไฟล์ sss
กลุ่ม: ไฟล์ sss {ยกเว้น if "with-custom-group"}
เน็ตมาสก์: ไฟล์
เครือข่าย: ไฟล์
netgroup: ไฟล์ sss {ไม่รวม if "with-custom-netgroup"}
automount: ไฟล์ sss {ยกเว้น if "with-custom-automount"}
บริการ: ไฟล์ sss {ไม่รวม if "with-custom-services"}
sudoers: ไฟล์ sss {ไม่รวม if "with-sudo"}

4. เลือกโปรไฟล์ใหม่

authselect เลือกกำหนดเอง/โปรไฟล์ผู้ใช้

5. รีสตาร์ท sssd

systemctrl รีสตาร์ท sssd

โพสต์คำตอบ

คนส่วนใหญ่ไม่เข้าใจว่าการถามคำถามมากมายจะปลดล็อกการเรียนรู้และปรับปรุงความสัมพันธ์ระหว่างบุคคล ตัวอย่างเช่น ในการศึกษาของ Alison แม้ว่าผู้คนจะจำได้อย่างแม่นยำว่ามีคำถามกี่ข้อที่ถูกถามในการสนทนา แต่พวกเขาไม่เข้าใจความเชื่อมโยงระหว่างคำถามและความชอบ จากการศึกษาทั้ง 4 เรื่องที่ผู้เข้าร่วมมีส่วนร่วมในการสนทนาด้วยตนเองหรืออ่านบันทึกการสนทนาของผู้อื่น ผู้คนมักไม่ตระหนักว่าการถามคำถามจะมีอิทธิพลหรือมีอิทธิพลต่อระดับมิตรภาพระหว่างผู้สนทนา