ssh:“ การเข้าถึงถูกปฏิเสธโดยการกำหนดค่าบัญชี PAM” สำหรับผู้ใช้ที่ไม่ใช่รูทหนึ่งคน แต่ไม่ใช่ผู้ใช้อื่น


24

บน VM ฉันกำลังเริ่มต้นฉันสามารถเข้าสู่ระบบในฐานะผู้ใช้ที่ไม่ใช่รูท ( admin) แต่ไม่ใช่อีกคน ( tbbscraper) เหนือ SSH ด้วยการตรวจสอบสิทธิ์คีย์สาธารณะ ข้อความแสดงข้อผิดพลาดเดียวที่ฉันพบในล็อกไฟล์คือ

Sep 18 17:21:04 [REDACTED] sshd[18942]: fatal: Access denied for user tbbscraper by PAM account configuration [preauth]

ในด้านของลูกค้าดาวน์ซินโดรมคือ

$ ssh -v -i [REDACTED] tbbscraper@[REDACTED]
...
debug1: SSH2_MSG_SERVICE_ACCEPT received
debug1: Authentications that can continue: publickey
debug1: Next authentication method: publickey
debug1: Offering public key: [REDACTED]
debug1: Authentications that can continue: publickey
debug1: Trying private key: [REDACTED]
debug1: read PEM private key done: type RSA
Connection closed by [REDACTED]

การเปลี่ยน 'tbbscraper' เป็น 'admin' จะช่วยให้การเข้าสู่ระบบสำเร็จ: debug1: Authentication succeeded (publickey).ปรากฏขึ้นแทนข้อความ "การเชื่อมต่อปิด"

ดูเหมือนจะไม่เป็นปัญหาสิทธิ์ ...

# for x in admin tbbscraper
> do ls -adl /home/$x /home/$x/.ssh /home/$x/.ssh/authorized_keys
> done
drwxr-xr-x 3 admin admin 4096 Sep 18 17:19 /home/admin
drwx------ 2 admin admin 4096 Sep 18 16:53 /home/admin/.ssh
-rw------- 1 admin admin  398 Sep 18 17:19 /home/admin/.ssh/authorized_keys
drwxr-xr-x 3 tbbscraper tbbscraper 4096 Sep 18 17:18 /home/tbbscraper
drwx------ 2 tbbscraper tbbscraper 4096 Sep 18 17:18 /home/tbbscraper/.ssh
-rw------- 1 tbbscraper tbbscraper  398 Sep 18 17:18 /home/tbbscraper/.ssh/authorized_keys

# cmp /home/{admin,tbbscraper}/.ssh/authorized_keys ; echo $?
0

... หรือปัญหาการควบคุมการเข้าถึงระดับ PAM ...

# egrep -v '^(#|$)' /etc/security/*.conf
#

... ดังนั้นจึงไม่มีคำตอบสำหรับคำถามที่คล้ายกันนี้เลย หลักฐานอีกชิ้นเดียวที่ฉันมีคือ:

root@[REDACTED] # su - admin
admin@[REDACTED] $

แต่

root@[REDACTED] # su - tbbscraper
su: Authentication failure
(Ignored)
tbbscraper@[REDACTED] $

ซึ่งแสดงให้เห็นปัญหา PAM ขนาดใหญ่ แต่ฉันไม่พบสิ่งผิดปกติอย่างชัดเจนกับสิ่งต่าง/etc/pam.dๆ ความคิดใด ๆ

VM เป็นอินสแตนซ์ EC2 ระบบปฏิบัติการเป็น Debian 7.1 (AMI แบบ off-the-shelf AMI ของ Amazon)


/etc/pam.d/sshdได้โปรด
GioMac

@GioMac ไม่เป็นไรฉันพบปัญหา
zwol

คำตอบ:


29

หลังจากนั้นมันกลับกลายเป็นว่าเป็นตัวพิมพ์ผิดตัว/etc/shadowเดียว จุดแตกต่าง:

admin:!:15891:0:99999:7:::
tbbscraper:!::15966:0:99999:7:::

ถูกต้องมีสอง colons หลังจากเครื่องหมายอัศเจรีย์ในtbbscraperบรรทัด สิ่งนั้นผลักฟิลด์ทั้งหมดเหนือหนึ่งฟิลด์และทำให้ PAM คิดว่าบัญชีหมดอายุในวันที่ 8 มกราคม 1970


9
ขอบคุณสำหรับการโพสต์ สิ่งนี้มีประโยชน์สำหรับฉัน: ฉันสร้างรายการผู้ใช้ด้วยตนเองใน / etc / passwd และลืมเพิ่มรายการ / etc / shadow ที่เกี่ยวข้อง
spazm

6
@ spazm ขอบคุณที่แสดงความคิดเห็น สิ่งนี้มีประโยชน์สำหรับฉัน: ฉันจะคัดลอกผู้ใช้จากเครื่องอื่นด้วยตนเองและลืมที่จะคัดลอกรายการ / etc / shadow ของผู้ใช้รายหนึ่งโดยไม่มีรหัสผ่าน
Jayen

8

ขอบคุณสำหรับการโพสต์คำถามของคุณ ฉันได้รับข้อผิดพลาดเดียวกัน แต่ปัญหาของฉันไม่เกี่ยวข้องกับไฟล์เงา ฉันพบการแก้ไขของฉันและต้องการโพสต์คำตอบด้วยเช่นกันสำหรับคนอื่น ๆ ที่ Googling ข้อผิดพลาดนี้ คำถามผิดพลาดของเซิร์ฟเวอร์นี้เกิดขึ้นก่อน

ลองตรวจสอบ/etc/security/access.conf!

เรากำลังใช้ Active Directory สำหรับการตรวจสอบสิทธิ์ แต่ฉันจำเป็นต้องเข้าสู่ระบบในฐานะผู้ใช้ในพื้นที่ไม่ใช่ผู้ใช้ (เจนกินส์) หัวหน้าของฉันได้ตั้งค่ากล่องกับบรรทัดเหล่านี้ใน/etc/security/access.conf:

+:root:ALL
-:ALL:ALL

ฉันเปลี่ยนเป็นสิ่งต่อไปนี้และการเข้าสู่ระบบตอนนี้ทำงาน; ฉันไม่จำเป็นต้องรีสตาร์ทบริการเลย

+:jenkins:ALL
+:root:ALL
-:ALL:ALL

3

มีข้อผิดพลาดเดียวกัน ปิด sshd และรีสตาร์ทในโหมดแก้ไขข้อบกพร่อง

    /usr/sbin/sshd -ddd

สิ่งนี้แสดงเหตุผล:

    debug3: User autossh not allowed because account is locked
            ...
    input_userauth_request: invalid user <username> [preauth]

บัญชีที่ตรวจสอบแล้ว:

    passwd -S <username>

ซึ่งแสดงให้เห็นว่าบัญชีถูกล็อค (ตั้งค่าสถานะ "L") ยกเลิกการล็อคบัญชีโดยการตั้งรหัสผ่านใหม่:

    passwd <username>

เสร็จสิ้น


2

ฉันมีปัญหาเดียวกันเมื่อเช้านี้ แต่เซิร์ฟเวอร์รับรองผู้ใช้กับ Active Directory เปลี่ยนรหัสผ่านโดเมนของผู้ใช้หมดอายุแล้ว


2
ปรากฏการณ์เดียวกันแหล่งข้อมูลบัญชีผู้ใช้ที่แตกต่างกัน :-) เป็นไปได้ที่ฉันควรจะยื่นข้อผิดพลาดกับ ssh และ / หรือ PAM เมื่อสองปีก่อนโดยขอบันทึกที่ชัดเจนว่าทำไมปฏิเสธการเข้าสู่ระบบ มีอาร์กิวเมนต์ความปลอดภัยที่ไม่บอกคนที่พยายามทำว่าทำไมมันล้มเหลว แต่นั่นไม่ได้ใช้กับบันทึกของระบบ
zwol

2

ในกรณีของฉันฉันกำลังเปลี่ยนชื่อผู้ใช้ CentOS 6 ในพื้นที่และลืมเปลี่ยนชื่อพวกเขาใน / etc / shadow (ผู้ที่รับรองความถูกต้องรหัสผ่านโดยไม่ต้องใช้รหัสผ่านไม่ปรากฏขึ้นในใจของฉัน) ดังนั้นระเบียนสำหรับชื่อผู้ใช้ใหม่ ขาดใน / etc / shadow ใน / var / log / secure มันทำให้ฉันมีข้อผิดพลาด unix_chkpwd และการเข้าถึงถูกปฏิเสธโดย PAM:

    unix_chkpwd[12345]: could not obtain user info (user2)
    sshd[12354]: fatal: Access denied for user user2 by PAM account configuration

1
usermod (8) เป็นเพื่อนของคุณในครั้งต่อไป ;-)
Michael Shigorin

0

ในกรณีของฉันมันเป็นการกดปุ่มขยะ '' / etc / tcb / USER / shadow '' หลังจากความเสียหาย extfs rootfs ในเงื่อนไขที่ "น่าสนใจ"; มันดูสวยมากดังนั้นจึงไม่พบในระหว่างการตรวจสอบเบื้องต้น (ไม่สามารถติดตั้งโหนดใหม่ได้ในขณะนี้ แต่จะต้องทำ)


0

ฉันมีปัญหาเดียวกันและไม่มีตัวเลือกที่แนะนำทำงาน แต่ฉันพบในฟอรัมหนึ่ง ( https://ubuntuforums.org/showthread.php?t=1960510 ) "การแก้ไขปัญหา" ซึ่งทำงานได้อย่างสมบูรณ์แบบ

แก้ไข/etc/ssh/sshd_configและตั้งค่า

UsePAM no

แม้ว่ามันอาจไม่ใช่วิธีแก้ปัญหาที่แท้จริงเพราะมีบางอย่างผิดปกติกับเครื่องของฉัน (เมื่อวานนี้มันทำงานได้ดี!) อย่างน้อยก็ทำงานนี้ได้

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.