ความหมายของ“ การเชื่อมต่อถูกปิดโดย xxx [preauth]” ในไฟล์บันทึก sshd


54

เรามีสคริปต์แบทช์ของ Windows ซึ่งเชื่อมต่อกับเซิร์ฟเวอร์ linux โดยอัตโนมัติผ่านทาง PLINK (putty) ไม่มีการรับรองความถูกต้องของกุญแจสาธารณะสาธารณะผู้ใช้และรหัสผ่านอยู่ในสคริปต์

บนเซิร์ฟเวอร์ linux ของเราเรามีรายการบันทึก sshd หลายรายการ (/ var / log / ข้อความ):

sshd[7645]: Connection closed by xxx [preauth]

อะไรคือสาเหตุของข้อความดังกล่าว
"preauth" แปลว่า "การรับรองความถูกต้องล่วงหน้า" อย่างแน่นอนหรือไม่

บางครั้งในรายการ "ปิดโดย" มีที่อยู่ ip ของไคลเอนต์ windows อีกครั้งมีที่อยู่ IP ของเซิร์ฟเวอร์ linux ใน "ปิดโดย" ไม่มีใครรู้ถึงความแตกต่างระหว่างที่อยู่ IP ของลูกค้าและที่อยู่ IP ของโฮสต์ในข้อความหรือไม่


เมื่อสังเกตใน/usr/local/sbin/sshd -D -eวิธีแก้ปัญหาที่เป็นไปได้: serverfault.com/a/211176
Ivan Chau

ฉันประสบปัญหาเดียวกันและในกรณีของฉันฉัน จำกัด ให้แคบลงเพื่อความจริงที่ว่าคีย์เดียวกันใช้งานได้จากเชลล์ ubuntu บน ubuntu จริงที่ทำงานเป็น VM และไม่ใช่จาก ubuntu ที่ฝังอยู่ใน Windows 10 (AKA Windows Linux Subsystem) . ยังไม่ได้คิดออกว่าทำไม แต่อาจจะช่วยคนได้บ้าง
Jens Kisters

ตรวจสอบ/var/log/secureกับLogLevel DEBUG3ใน/etc/ssh/sshd_config
Ivan Chau

คำตอบ:


24

sshdเซิร์ฟเวอร์จะตัดการเชื่อมต่อในกรณีที่ลูกค้าไม่พยายามที่จะรับรองความถูกต้องในช่วงเวลาใดเวลาหนึ่งตามที่ระบุไว้ใน-gตัวเลือก

 -g login_grace_time
         Gives the grace time for clients to authenticate themselves
         (default 120 seconds).  If the client fails to authenticate
         the user within this many seconds, the server disconnects
         and exits.  A value of zero indicates no limit.

ดังนั้นฉันสงสัยว่าคุณเห็น IP ของเซิร์ฟเวอร์ในบันทึกด้วยข้อความนี้การเชื่อมต่อถูกปิดเพราะไม่มีความพยายามในการตรวจสอบความถูกต้องเกิดขึ้นภายในเวลาผ่อนผัน เมื่อคุณเห็น IP ของไคลเอนต์หมายความว่าผู้ใช้ปิดไคลเอ็นต์ของพวกเขา (หรือสคริปต์ถูกยกเลิก) โดยไม่พยายามตรวจสอบสิทธิ์


มันสามารถเกิดจากการสแกน nmap เช่น?
Qback

นี่คือความพยายามในการแฮ็ค ฉันเห็นมากจากประเทศจีนรัสเซียญี่ปุ่น ฯลฯ
jjxtra

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

7

ในกรณีของฉันข้อความเหล่านี้ปรากฏใน / var / log / ปลอดภัยเมื่อฉันพบHost key verification failed.ข้อผิดพลาดในฝั่งไคลเอ็นต์ ssh นี่เป็นหนึ่งในกรณีที่จะทำให้เกิดการเชื่อมต่อโดยไม่ต้องพยายามลงชื่อเข้าใช้


4

ฉันมีปัญหาคล้ายกันมากกับคุณ (แม้ว่าฉันใช้รหัสสาธารณะ)

มันกลับกลายเป็นว่าปัญหาของฉันและอาจเป็นไปได้ว่าคุณเกิดมาเพราะไดเรกทอรีในบ้านของฉันคือเมานต์ NFS และ selinux (บน CentOS 7) กำลังทำให้เกิดข้อผิดพลาด (ซึ่งค่อนข้างยากที่จะติดตาม) การแก้ไขนั้นง่ายแม้ว่า

setsebool -P use_nfs_home_dirs 1 

2

ssh-keyscanแหล่งที่มาของชนิดของข้อความเหล่านี้ก็คือ เพียงแค่คว้าคีย์โฮสต์เซิร์ฟเวอร์และตัดการเชื่อมต่อโดยไม่ทำการตรวจสอบสิทธิ์ใด ๆ


2

แหล่งที่มาของข้อความเหล่านี้คือhttps://sshcheck.com/ซึ่งแสดงจุดอ่อนที่เป็นไปได้ในเซิร์ฟเวอร์ ssh ของคุณ

มันทำให้ประมาณ 4 ของข้อความเหล่านี้ตามลำดับ


1

ฉันมีปัญหาเดียวกันฉันแก้ไขได้ดังนี้:

บนเซิร์ฟเวอร์ ssh ฉันไม่ใส่เครื่องหมายข้อคิดเห็นและวางใช่ค่าต่อไปนี้ใน/ etc / ssh / sshd_config

 RSAAuthentication yes
 PubkeyAuthentication yes

แล้ว:

sudo service sshd restart

0

ฉันได้พบกับสถานการณ์เดียวกันเนื่องจากiptablesกฎอินพุตเป็น DROP แต่ยอมรับโฮสต์ที่ตรวจสอบได้ แต่ไม่มีกฎiptables -I INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT

บันทึกข้อผิดพลาด"Nov 3 01:34:50 debian sshd[29378]: Connection closed by 10.17.64.13 [preauth]"ถูกเขียนใน"/var/log/auth.log"ที่เครื่องไคลเอ็นต์หลังจากansible all -m pingรันคำสั่งในโฮสต์ที่ตรวจสอบได้

เนื่องจากแพ็กเก็ต ping ได้รับจากลูกค้า แต่ไม่กลับไปยังโฮสต์ที่ใช้งานได้

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