อีกตัวเลือกหนึ่งคือคำตอบที่แตกต่างของ @Jagadish : ไปstraceยัง ssh daemon
มันมีข้อได้เปรียบที่สำคัญคือเราไม่จำเป็นต้องหยุด sshd สิ่งที่จะส่งผลให้เกิดการล็อคที่สมบูรณ์หากมีบางสิ่งไม่ดี
ก่อนอื่นเราจะพบ pid ของกระบวนการ sshd หลัก pstree -pa|lessที่นี่เราสามารถดูได้โดยการดำเนินการ
  |-sshd,633 -D  <-- THIS IS WHAT WE WANT!
  |   `-sshd,21973   
  |       `-sshd,21996    
  |           `-bash,22000
  |               `-screen,638 -r
หลังจากรู้แล้วว่า pid คือ 633 เราทำได้straceโดยติดตามลูก ๆ ของมัน:
strace -p 633 -s 4096 -f -o sux
ผลลัพธ์ที่ได้คือทุกสิ่งที่สิ่งนี้ sshd และกระบวนการลูกได้ทำไว้จะถูก strace-ed ลงในไฟล์ที่มีชื่อsuxในโลคอลไดเร็กทอรี
จากนั้นสร้างปัญหาขึ้นอีกครั้ง
จะมีรายการบันทึกการโทรเคอร์เนลจำนวนมากซึ่งส่วนใหญ่ไม่สามารถเข้าใจได้ / ไม่เกี่ยวข้องสำหรับเรา แต่ไม่ใช่ทุกที่ ในกรณีของฉันสิ่งสำคัญคือ:
6834  sendto(4, "<38>Jan 15 18:49:21 sshd[6834]: User cica not allowed because account is locked\0", 84, MSG_NOSIGNAL, NULL, 0) = 84
มันเป็นเรื่องสำคัญที่ sshd พยายามที่จะเข้าสู่ระบบข้อความผู้ใช้ cica ไม่ได้รับอนุญาตเพราะบัญชีถูกล็อค - มันไม่สามารถเพียงเพราะการบันทึกไม่เพียงพอ verbose สำหรับที่ แต่เรารู้แล้วว่า pubkey ถูกปฏิเสธเพราะบัญชีถูกล็อค
ยังไม่ได้แก้ปัญหา - ตอนนี้เราจำเป็นต้อง google สิ่งที่หมายถึง "บัญชีที่ถูกล็อค" ในกรณีของ sshd อาจเป็นไปได้ว่ามีบางอย่างที่ไม่สำคัญ/etc/passwdนัก/etc/shadowเวทย์มนตร์ แต่สิ่งที่สำคัญทำ - ปัญหาไม่ได้เป็นเรื่องลึกลับ แต่เป็น debuggable / googlable ได้อย่างง่ายดาย