วินิจฉัยปัญหาการเข้าสู่ระบบ SLES PAM ล้มเหลวโดยไม่ต้องล็อกตัวเองออกจากระบบ

ข้อความ “PAM authentication failure” ไม่ได้ระบุวิธีแก้ไขแบบเดียวที่ใช้ได้กับทุกกรณี ขั้นแรกให้ระบุว่าบริการและผู้ใช้ใดที่ล้มเหลว จากนั้นตรวจสอบบันทึกเหตุการณ์ในช่วงเวลาที่ตรงกัน บน SUSE Linux Enterprise Server (SLES) ให้แก้ไขปัญหา PAM ระดับโลกที่ได้รับการยืนยันแล้วผ่านทางpam-configและแก้ไขไฟล์บริการแต่ละไฟล์เฉพาะเมื่อสแต็กของบริการนั้นผิดพลาดเท่านั้น ควรเปิดเซสชัน root หรือผู้ดูแลระบบที่ใช้งานได้ไว้ในขณะทดสอบ เนื่องจากสแต็ก PAM ที่เสียหายอาจบล็อกการเข้าสู่ระบบ SSH และคอนโซลใหม่ได้

คู่มือความปลอดภัยและการเสริมความแข็งแกร่งของ SLES 15 SP7 ฉบับปัจจุบัน อธิบายว่า PAM เป็นชุดโมดูลการตรวจสอบสิทธิ์ บัญชี รหัสผ่าน และเซสชัน ความแตกต่างนี้มีความสำคัญ: รหัสผ่านที่ถูกต้องอาจผ่านauthขั้นตอนหนึ่งได้ แต่ก็ยังอาจถูกปฏิเสธในภายหลังโดยนโยบายบัญชีหรือกฎเฉพาะบริการ ข้อความแสดงความล้มเหลวทั่วไปเพียงอย่างเดียวไม่สามารถระบุได้ว่าขั้นตอนใดล้มเหลว

ข้อผิดพลาดนี้พิสูจน์อะไร และไม่ได้พิสูจน์อะไรบ้าง?

PAM ทำหน้าที่เป็นตัวกลางระหว่างแอปพลิเคชัน เช่นsshdการเข้าสู่ระบบคอนโซล และวิธีการตรวจสอบสิทธิ์ที่กำหนดค่าไว้ บริการที่รองรับ PAM แต่ละบริการจะมีไฟล์อยู่ใน/etc/pam.d/ไฟล์บริการอาจรวมถึงไฟล์ทั่วไปของ SLES เช่นcommon-authและcommon-accountดังนั้นความล้มเหลวที่เกิดขึ้นเฉพาะกับ SSH อาจมีสาเหตุที่แตกต่างจากความล้มเหลวที่เกิดขึ้นกับวิธีการเข้าสู่ระบบทั้งหมด

ตรวจสอบแล้ว:ชุดคำสั่ง SSH ของ SUSE ที่ระบุไว้ในเอกสารนั้นรวมpam_nologin.soถึงไฟล์ PAM ทั่วไป หาก/etc/nologinมีอยู่ โมดูลที่ระบุไว้ในเอกสารจะปฏิเสธการเข้าสู่ระบบสำหรับผู้ใช้ที่ไม่ใช่ root ขึ้นอยู่กับบริบท:กฎที่แก้ไขในเครื่อง บริการไดเร็กทอรี และโมดูล MFA ของบุคคลที่สามสามารถเพิ่มการตรวจสอบเพิ่มเติมได้ไม่สามารถระบุได้จากข้อความเพียงอย่างเดียว:ว่ารหัสผ่านผิด ว่าไฟล์ PAM เสียหาย หรือว่าบัญชีถูกล็อก เริ่มต้นด้วยบริการที่ได้รับผลกระทบและบันทึกของบริการนั้นแทนที่จะเปลี่ยนชุดคำสั่งทั้งหมด

ช่องทางการเข้าสู่ระบบใดที่ใช้งานไม่ได้?

จำลองข้อผิดพลาดนี้หนึ่งครั้งและจดบันทึกเวลา ชื่อผู้ใช้ และวิธีการ: SSH, คอนโซลข้อความในเครื่อง, การเข้าสู่ระบบแบบกราฟิกsudoหรือsuหากคุณสามารถเข้าสู่ระบบในฐานะผู้ดูแลระบบได้ โปรดตรวจสอบข้อความระบบล่าสุด:

sudo journalctl -e

คู่มือการแก้ไขปัญหา SLES ของ SUSE แนะนำเป็นพิเศษให้ตรวจสอบบันทึก (journal) สำหรับข้อผิดพลาดในการเข้าสู่ระบบและ PAM ให้มองหาชื่อโมดูลหรือเหตุผลในช่วงเวลาที่พยายามเข้าสู่ระบบ เช่น บัญชีถูกปฏิเสธ บริการไดเร็กทอรีไม่พร้อมใช้งาน โมดูลหายไป หรือข้อผิดพลาดเกี่ยวกับไฟล์/สิทธิ์การเข้าถึง ห้ามเผยแพร่บันทึกต่อสาธารณะโดยไม่ลบชื่อผู้ใช้ ชื่อโฮสต์ ที่อยู่ และรายละเอียดที่ละเอียดอ่อนอื่นๆ ออกก่อน

เตรียมเทอร์มินัล root เพื่อตรวจสอบรายการบันทึกระบบล่าสุดด้วยคำสั่ง journalctl -e
ใช้บันทึกระบบในช่วงเวลาที่การเข้าสู่ระบบล้มเหลวเพื่อค้นหาข้อความ PAM และข้อความกระบวนการเข้าสู่ระบบ

หากการเชื่อมต่อ SSH ล้มเหลวเพียงอย่างเดียว ให้ตรวจสอบบันทึกการทำงานของ SSH daemon:

sudo journalctl -u sshd
เตรียมเทอร์มินัล root เพื่ออ่านบันทึกของ daemon SSH ด้วยคำสั่ง journalctl -u sshd
ตรวจสอบบันทึก sshd เมื่อเกิดความล้มเหลวเฉพาะระหว่างการตรวจสอบสิทธิ์ SSH เท่านั้น

จากนั้นเปรียบเทียบเส้นทางการเข้าถึง หากผู้ใช้สามารถตรวจสอบสิทธิ์ได้ที่คอนโซลภายในเครื่อง แต่ไม่สามารถตรวจสอบสิทธิ์ผ่าน SSH ได้ ให้เน้นที่/etc/pam.d/sshdนโยบายการเข้าถึง SSH หรือโมดูลเฉพาะของ SSH หากบริการหลายแห่งปฏิเสธผู้ใช้ภายในเครื่องเดียวกัน ให้ตรวจสอบcommon-*ไฟล์ที่แชร์ หากมีผู้ใช้เพียงรายเดียวที่ล้มเหลว ให้ตรวจสอบสถานะบัญชีและรหัสผ่านก่อนที่จะเปลี่ยนการตรวจสอบสิทธิ์ทั่วทั้งระบบ

นี่เป็นบัญชีภายในเครื่องหรือบัญชีเครือข่ายครับ/คะ?

สำหรับผู้ใช้ภายในเครื่อง ให้ตรวจสอบชื่อผู้ใช้ รูปแบบแป้นพิมพ์ และปุ่ม Caps Lock ก่อน หากจำเป็นต้องรีเซ็ตข้อมูลประจำตัว ให้ใช้เครื่องมือจัดการรหัสผ่านที่ผู้ดูแลระบบอนุมัติ เช่น YaST User and Group Management แทนการแก้ไข/etc/shadowด้วยตนเอง หากผู้ใช้ที่ไม่ใช่ root ทุกคนถูกปฏิเสธการเข้าถึงผ่าน SSH ให้ตรวจสอบว่ามีไฟล์การบำรุงรักษาตามแผนอยู่หรือไม่/etc/nologinก่อนที่จะเปลี่ยนแปลง PAM ลบไฟล์นั้นเฉพาะเมื่อยืนยันแล้วว่าบล็อกการบำรุงรักษาหมดอายุแล้วและคุณได้รับอนุญาต

สำหรับผู้ใช้ที่ใช้ LDAP, Active Directory หรือไดเร็กทอรีอื่นๆ การที่รหัสผ่านใช้งานได้บนเซิร์ฟเวอร์อื่นไม่ได้หมายความว่าโฮสต์ SLES นี้สามารถเชื่อมต่อกับผู้ให้บริการข้อมูลประจำตัวได้ SUSE ระบุว่าปัญหาเครือข่ายและ DNS, การคลาดเคลื่อนของนาฬิกา Kerberos, กฎ PAM ที่กำหนดค่าไม่ถูกต้อง, นโยบายการเข้าถึงโฮสต์ และไดเร็กทอรีโฮมที่ไม่พร้อมใช้งาน เป็นสาเหตุที่เป็นไปได้ ทดสอบว่าผู้ใช้โดเมนรายอื่นสามารถเข้าสู่ระบบได้หรือไม่ และผู้ใช้ที่ได้รับผลกระทบสามารถเข้าสู่ระบบบนโฮสต์อื่นได้หรือไม่ จากนั้นตรวจสอบบริการข้อมูลประจำตัวที่กำหนดค่าไว้และการเชื่อมต่อเซิร์ฟเวอร์

เมื่อโฮสต์ใช้ SSSD ให้ตรวจสอบบริการและตรวจสอบว่า PAM ได้รับการกำหนดค่าให้ใช้งานหรือไม่:

systemctl status sssd
sudo pam-config --query --sss
หน้าจอเทอร์มินัลแสดงคำสั่งสอบถามการกำหนดค่า PAM SSSD แบบอ่านอย่างเดียว และคำสั่งสถานะบริการ SSSD
ตรวจสอบว่า SSSD ถูกรวมอยู่ใน PAM และทำงานอยู่หรือไม่ ในกรณีที่ผู้ใช้ที่ได้รับการสนับสนุนจากโดเมนไม่สามารถตรวจสอบสิทธิ์ได้

SSSD สามารถแคชข้อมูลผู้ใช้และอาจอนุญาตให้ตรวจสอบสิทธิ์ได้ในขณะที่ไดเร็กทอรีไม่สามารถเข้าถึงได้ชั่วคราว แต่พฤติกรรมดังกล่าวขึ้นอยู่กับการกำหนดค่าและข้อมูลประจำตัวที่แคชไว้ ดังนั้นแคชที่ล้าสมัยหรือหายไปจึงเป็นเพียงความเป็นไปได้หนึ่ง ไม่ใช่ข้อสรุป ตรวจสอบ DNS การซิงโครไนซ์เวลาสำหรับ Kerberos การเข้าถึงไดเร็กทอรี และบันทึก SSSD ก่อนที่จะล้างแคชหรือเปลี่ยนโมดูลใดๆ หากผู้ให้บริการข้อมูลประจำตัวรายงานว่า “บัญชีถูกล็อก” หรือ “บัญชีถูกปิดใช้งาน” ให้ผู้ดูแลระบบไดเร็กทอรีตรวจสอบนโยบายของบัญชีนั้น PAM รายงานการตัดสินใจ ไม่ได้หมายความว่าเป็นผู้สร้างการตัดสินใจนั้น

คุณควรแก้ไขปัญหาการกำหนดค่า PAM ที่ได้รับการยืนยันแล้วอย่างไร?

ตรวจสอบไฟล์เฉพาะบริการและกฎที่ใช้ร่วมกันที่อยู่ในไฟล์นั้น:

sudo grep -nE '^(auth|account|password|session)' /etc/pam.d/sshd
sudo pam-config --query --sss
คำสั่งในเทอร์มินัลจะตรวจสอบรายการการตรวจสอบสิทธิ์ บัญชี รหัสผ่าน และเซสชันในไฟล์บริการ sshd PAM
ตรวจสอบสแต็ก PAM เฉพาะบริการสำหรับ sshd ก่อนที่จะเปลี่ยนแปลงกฎการตรวจสอบสิทธิ์ทั่วไป

บน SLES pam-configไฟล์ส่วนกลางจะถูกเก็บรักษาไว้ภายใต้/etc/pam.d/common-*ส่วนไฟล์บริการแต่ละรายการ เช่น/etc/pam.d/sshdจะถูกเก็บรักษาแยกต่างหาก อย่าแก้ไขไฟล์ทั่วไปที่สร้างขึ้นด้วยตนเอง เว้นแต่คุณจะปิดใช้งานไฟล์เหล่าpam-configนั้นโดยเจตนา หากคุณยืนยันว่าโฮสต์นี้ควรใช้ SSSD และกฎ PAM ของ SSSD หายไป เอกสารของ SUSE มีวิธีsudo pam-config --add --sssการเพิ่มกฎเหล่านั้น ใช้งานหลังจากยืนยันแล้วว่า SSSD ได้รับการกำหนดค่าและทำงานอยู่ จากนั้นทดสอบการเข้าสู่ระบบใหม่ในขณะที่เซสชันการดูแลระบบที่ใช้งานอยู่ยังคงเปิดอยู่

ความเข้าใจผิดที่พบบ่อยแต่เสี่ยงคือ การคิดว่าpam-config --createคำสั่งนี้เป็นคำสั่งซ่อมแซมที่ไม่เป็นอันตราย SUSE ระบุว่าคำสั่งนี้จะสร้างการกำหนดค่าการตรวจสอบสิทธิ์ Unix พื้นฐานและเขียนทับไฟล์ที่มีอยู่เดิมซึ่งไม่ใช่ไฟล์ที่ SUSE จัดการ โดยจะเก็บสำเนาสำรองไว้ ซึ่งอาจลบการตรวจสอบสิทธิ์แบบหลายปัจจัย (MFA) หรือการตรวจสอบสิทธิ์ตามไดเร็กทอรีที่กำหนดเองได้ อย่าใช้คำสั่งนี้เป็นขั้นตอนการกู้คืนทั่วไป สำหรับข้อผิดพลาดในการพิมพ์ในไฟล์บริการ ให้กู้คืนการกำหนดค่าที่ถูกต้องและเหมาะสมกับเวอร์ชันของบริการนั้นจากข้อมูลสำรองที่เชื่อถือได้ หรือเปลี่ยนบรรทัดที่ผิดพลาดเฉพาะนั้นตามกระบวนการเปลี่ยนแปลงขององค์กรของคุณ

คุณจะยืนยันการซ่อมแซมได้อย่างไร?

ปล่อยให้เซสชัน root หรือ administrator เดิมเปิดอยู่ เริ่มเซสชันที่สองผ่านบริการเดียวกันกับที่ล้มเหลว เช่น การเชื่อมต่อ SSH ใหม่ และทดสอบบัญชีที่ได้รับผลกระทบ ตรวจสอบให้แน่ใจว่าบันทึกไม่บันทึกการปฏิเสธ PAM เดิมอีกต่อไป และวิธีการตรวจสอบสิทธิ์ที่กำหนดค่าไว้อื่นยังคงใช้งานได้ หากความล้มเหลวยังคงเกิดขึ้น ให้บันทึกเวลาที่เกิดเหตุการณ์ บริการ ชื่อโมดูล PAM และบรรทัดบันทึกที่เกี่ยวข้องที่ผ่านการกรองแล้ว รายละเอียดเหล่านั้นมีประโยชน์มากกว่าข้อความทั่วไปว่า "การตรวจสอบสิทธิ์ล้มเหลว"

ข้อมูลอ้างอิงอย่างเป็นทางการ

ฝากความเห็น

วินิจฉัยปัญหาการเข้าสู่ระบบ SLES PAM ล้มเหลวโดยไม่ต้องล็อกตัวเองออกจากระบบ

วินิจฉัยปัญหาการเข้าสู่ระบบ SLES PAM ล้มเหลวโดยไม่ต้องล็อกตัวเองออกจากระบบ

ตรวจสอบหาสาเหตุของความล้มเหลวของ PAM ว่ามาจากบริการ นโยบายบัญชี หรือผู้ให้บริการข้อมูลประจำตัว จากนั้นซ่อมแซมการกำหนดค่า SLES ที่ถูกต้องโดยยังคงรักษาเซสชันการดูแลระบบให้ใช้งานได้ต่อไป

วันลงทะเบียนผู้มีสิทธิเลือกตั้งแห่งชาติปี 2026 ตรงกับวันนี้: วิธีลงทะเบียนหรือตรวจสอบสถานะของคุณ

วันลงทะเบียนผู้มีสิทธิเลือกตั้งแห่งชาติปี 2026 ตรงกับวันนี้: วิธีลงทะเบียนหรือตรวจสอบสถานะของคุณ

วันลงทะเบียนผู้มีสิทธิเลือกตั้งแห่งชาติคือวันที่ 15 กันยายน 2026 เรียนรู้วิธีการลงทะเบียนออนไลน์ ทางไปรษณีย์ หรือด้วยตนเอง และตรวจสอบสถานะผู้มีสิทธิเลือกตั้งของคุณ

เหตุใดการสร้างชุมชนจึงเป็นการตลาดรูปแบบใหม่ และเมื่อใดที่ไม่ใช่

เหตุใดการสร้างชุมชนจึงเป็นการตลาดรูปแบบใหม่ และเมื่อใดที่ไม่ใช่

การสร้างชุมชนสามารถเสริมสร้างความไว้วางใจ การรักษาฐานลูกค้า การรับฟังความคิดเห็น และการสนับสนุนได้ แต่ก็ไม่ใช่สิ่งที่จะมาทดแทนช่องทางการตลาดทุกช่องทางได้ ควรเปรียบเทียบข้อดีข้อเสียและเลือกรูปแบบที่เหมาะสม

ความล้มเหลวในการโหลดโมดูลบูต SLES: ค้นหาไดรเวอร์และแก้ไขปัญหา

ความล้มเหลวในการโหลดโมดูลบูต SLES: ค้นหาไดรเวอร์และแก้ไขปัญหา

ตรวจสอบหาสาเหตุของความล้มเหลวของโมดูลเคอร์เนลระหว่างการเริ่มต้นระบบ SLES แก้ไขรายการบูตที่ล้าสมัย หรือซ่อมแซมไดรเวอร์ที่จำเป็น และตรวจสอบการบูตครั้งถัดไป

ตั้งค่า DM-Multipath บน SLES 15 เพื่อให้ได้เส้นทาง SAN ที่เชื่อถือได้

ตั้งค่า DM-Multipath บน SLES 15 เพื่อให้ได้เส้นทาง SAN ที่เชื่อถือได้

เตรียมเส้นทาง SCSI SAN เปิดใช้งาน multipathd ตรวจสอบค่าเริ่มต้นของฮาร์ดแวร์ของ SUSE และตรวจสอบแผนที่อุปกรณ์ที่เสถียรโดยไม่ต้องเดาการตั้งค่าอาร์เรย์

ปลดล็อก Zypper อย่างปลอดภัยบน SUSE Linux Enterprise

ปลดล็อก Zypper อย่างปลอดภัยบน SUSE Linux Enterprise

ค้นหาโปรเซสที่กำลังล็อกแพ็กเกจของ Zypper อยู่ แยกแยะความขัดแย้งของโปรเซสออกจากแพ็กเกจที่ถูกล็อก และลองอัปเดตอีกครั้งโดยไม่ต้องลบไฟล์ล็อกโดยไม่รู้สาเหตุ

สร้างคลัสเตอร์ SLES 15 HA ที่รองรับด้วย Fencing First

สร้างคลัสเตอร์ SLES 15 HA ที่รองรับด้วย Fencing First

ลงทะเบียน SLE HA, บูตสแตรปโหนด SLES 15 จากนั้นเพิ่มการป้องกัน, โควรัม และทรัพยากรบริการที่ผ่านการทดสอบก่อนที่จะพึ่งพาการสลับระบบเมื่อเกิดข้อผิดพลาด

SLES Zypper HTTP 500: ค้นหาแหล่งเก็บข้อมูลที่ล้มเหลว

SLES Zypper HTTP 500: ค้นหาแหล่งเก็บข้อมูลที่ล้มเหลว

ตรวจสอบหาสาเหตุของข้อผิดพลาดในการรีเฟรชของ Zypper ว่ามาจาก SUSE, RMT หรืออุปกรณ์ปลายทางของบุคคลที่สาม จากนั้นใช้การแก้ไขปัญหาฝั่งเซิร์ฟเวอร์หรือแคชที่ถูกต้องโดยไม่ต้องปิดใช้งานการอัปเดตที่จำเป็น

พื้นที่พูลบางของ SLES ไม่เพียงพอ: ขยาย LVM อย่างปลอดภัยและกู้คืนการเขียน

พื้นที่พูลบางของ SLES ไม่เพียงพอ: ขยาย LVM อย่างปลอดภัยและกู้คืนการเขียน

แก้ไขข้อผิดพลาดเกี่ยวกับพื้นที่ thin-pool ของ SUSE LVM โดยการตรวจสอบการใช้งานข้อมูลและเมตาเดต้า ขยายพูลอย่างปลอดภัย และป้องกันการหยุดทำงานซ้ำซ้อน

เมื่อ SLES Btrfs เข้าสู่โหมดอ่านอย่างเดียว: ตรวจสอบหาสาเหตุก่อนทำการเมานต์ใหม่

เมื่อ SLES Btrfs เข้าสู่โหมดอ่านอย่างเดียว: ตรวจสอบหาสาเหตุก่อนทำการเมานต์ใหม่

ตรวจสอบว่า Btrfs ถูกตั้งค่าเป็นโหมดอ่านอย่างเดียวโดยเจตนา พื้นที่เหลือน้อย หรือกำลังปกป้องข้อมูลหลังเกิดข้อผิดพลาด จากนั้นเลือกวิธีการกู้คืนที่เหมาะสมกับสาเหตุ