แก้ไข: ssh_exchange_identification 'การเชื่อมต่อปิดโดยโฮสต์ระยะไกล'



ลองใช้เครื่องมือของเราเพื่อกำจัดปัญหา

แม้ว่าในหลาย ๆ กรณี ssh_exchange_identification: การเชื่อมต่อที่ปิดโดยข้อผิดพลาดของโฮสต์ระยะไกลอาจเกิดจากปัญหาที่เกี่ยวข้องกับไฟล์การกำหนดค่า hosts.deny และ hosts.allow แต่ก็มีสิ่งอื่น ๆ ที่อาจทำให้เกิดปัญหาได้ หากคุณกำลังอ่านข้อความนี้แสดงว่าคุณได้ตรวจสอบแล้วเพื่อให้แน่ใจว่าไฟล์ทั้งสองนี้ไม่ได้บล็อกที่อยู่ IP ของคุณไม่ให้พยายามใช้ ssh บนเซิร์ฟเวอร์ระยะไกล



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



วิธีที่ 1: แก้ไขการอ้างอิงที่ขาดหายไป

หากคุณได้รับ ssh_exchange_identification: การเชื่อมต่อถูกปิดโดยข้อผิดพลาดของโฮสต์ระยะไกลหลังจากอัปเดต OpenSSL หรือ glibc แล้วคุณอาจกำลังดูการอ้างอิงที่ขาดหายไป วิ่ง sudo lsof -n | grep ssh | grep DEL จากบรรทัดคำสั่งในสถานการณ์นี้ สิ่งนี้จะให้รายการไฟล์ที่เปิดอยู่จากนั้นค้นหาเฉพาะไฟล์ที่เพิ่งถูกลบซึ่งเกี่ยวข้องกับ ssh daemon



หากคุณไม่ได้รับอะไรกลับมาคุณยังสามารถลองรีสตาร์ท daemon หรือระบบเองได้ คุณจะต้องลองรีสตาร์ทหากมีข้อผิดพลาดจำนวนมากส่งกลับมาที่คุณแม้ว่าคุณจะสามารถเพิกเฉยต่อข้อความที่เกี่ยวข้องกับ / run / user / 1000 / gvfs ได้อย่างปลอดภัยเนื่องจากสิ่งเหล่านี้เกิดจากปัญหาที่ไม่เกี่ยวข้องที่ต้อง ทำกับระบบไฟล์เสมือน

คุณสามารถลองใช้ apt-get, pacman หรือ yum เพื่ออัปเดตแพ็กเกจของคุณได้เช่นกันหากคุณสงสัยว่าการอ้างอิงเป็นปัญหา หากคุณใช้ระบบที่ใช้ Debian หรือ Ubuntu คุณอาจต้องการลอง sudo apt-get -f อัพเกรด และดูว่าวิธีนี้สามารถแก้ไขแพ็คเกจที่เสียซึ่งคุณอาจล้มเหลวได้หรือไม่



วิธีที่ 2: การแก้ไขการแยกส่วนของหน่วยความจำ

หากวิธีนี้ไม่ได้ผลแสดงว่าคุณอาจมีปัญหาในด้านโฮสต์ของสมการ โฮสต์ที่ทำงานภายใน VM ไม่ได้มีพาร์ติชัน swap เสมอไปซึ่งอาจนำไปสู่การแยกส่วนหน่วยความจำ เข้าถึงโฮสต์ด้วยวิธีการอื่นบางอย่างหากเป็นไปได้ทางกายภาพจากนั้นเริ่มบริการที่ประสบปัญหาใหม่ MySQL, Apache, nginx และบริการอื่น ๆ ดังกล่าวอาจเป็นตัวการ

แม้ว่าจะไม่สามารถรีบูตโฮสต์ได้เสมอไป แต่ก็สามารถแก้ไขปัญหาได้และอาจเป็นความคิดที่ดีหากคุณสลับระหว่างข้อความแสดงข้อผิดพลาดนี้กับข้อความที่ส่งคืนที่อยู่ IP โปรดทราบว่าหากคุณมีสิทธิ์เข้าถึงเซิร์ฟเวอร์ประเภทใดก็ได้คุณสามารถเรียกใช้ไฟล์ vmstat -s สั่งการและรับสถิติที่สำคัญเกี่ยวกับวิธีการใช้หน่วยความจำแม้ในฐานะผู้ใช้ทั่วไปในหลาย ๆ กรณี

วิธีที่ 3: ตรวจสอบอินสแตนซ์ ssh พิเศษ

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

สิ่งนี้อาจเกิดขึ้นหาก sshd ไม่สามารถติดตามสคริปต์ที่เริ่มเซสชัน ssh ต่างๆมากมายแบบวนซ้ำ หากสิ่งนี้เคยเกิดขึ้นกับคุณให้เพิ่มไฟล์ นอนหลับ 0.3 คำสั่งไปยังลูปเพื่อให้ sshd daemon มีเวลาในการติดตาม

วิธีที่ 4: ค้นหาขีด จำกัด การเชื่อมต่อ sshd

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

ลองวิ่ง บนเซิร์ฟเวอร์เพื่อค้นหาจำนวนการเชื่อมต่อที่ sshd สามารถจัดการได้ ในกรณีส่วนใหญ่ระบบควรตั้งค่าเริ่มต้นเป็นการเชื่อมต่อพร้อมกัน 10 ครั้งซึ่งควรมีมากสำหรับโครงสร้างเซิร์ฟเวอร์ส่วนใหญ่ที่ผู้ใช้ส่วนใหญ่มักจะต้องใช้ ssh เป็นประจำ

อ่าน 3 นาที