วิธีออกจากเซสชัน SSH ที่ไม่ตอบสนองบน Linux

วิธีออกจากเซสชัน SSH ที่ไม่ตอบสนองบน Linux
ผู้อ่านเช่นคุณช่วยสนับสนุน MUO เมื่อคุณทำการซื้อโดยใช้ลิงก์บนเว็บไซต์ของเรา เราอาจได้รับค่าคอมมิชชั่นจากพันธมิตร อ่านเพิ่มเติม.

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





ใช้แรม 4gb กับ 8gb ด้วยกันได้ไหมครับ
MUO วิดีโอประจำวันนี้ เลื่อนเพื่อดำเนินการต่อด้วยเนื้อหา

นี่คือสาเหตุว่าทำไมจึงเป็นเช่นนั้น วิธีออกจากเซสชัน SSH ที่ไม่ตอบสนอง และสาเหตุที่คุณอาจต้องการเปลี่ยนไปใช้ Mosh





อะไรทำให้เซสชัน SSH หยุดทำงาน

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





SSH เดิมทีได้รับการออกแบบในยุคก่อนที่ผู้คนจะใช้แล็ปท็อปเป็นประจำ SSH ทำงานได้ดีกว่าบนเครือข่ายแบบมีสาย

1. ยุติด้วยลำดับการหลบหนี

  ออกจากเซสชัน SSH ด้วยลำดับหลีก

หากเซสชัน SSH ของคุณค้าง ให้ลองใช้ลำดับหลีก Escape Sequence ช่วยให้คุณส่งสัญญาณไปยังไคลเอ็นต์ SSH แทนเครื่องระยะไกลได้ ลำดับการหลีกนำหน้าด้วยอักขระหลีก ตามค่าเริ่มต้นบนไคลเอนต์ OpenSSH มันคือ ตัวหนอน (~) อักขระ.

หากต้องการออกจากไคลเอ็นต์ SSH คุณสามารถกดปุ่มตัวหนอนแล้วตามด้วย ระยะเวลา (.) สำคัญ.

คุณยังสามารถเปลี่ยนอักขระหลีกได้หากต้องการ คุณสามารถระบุอักขระหลีกใหม่ได้โดยใช้ -มันคือ ตัวเลือกที่บรรทัดคำสั่ง คุณสามารถเปลี่ยนได้อย่างถาวรโดยตั้งค่า EscapeChar ตัวเลือกในของคุณ .ssh/การกำหนดค่า ในโฮมไดเร็กตอรี่ของคุณบนเครื่องท้องถิ่น

2. การใช้คำสั่งฆ่า

  ค้นหาเซสชัน SSH ด้วย ps และ grep

หากการใช้ Escape Sequence ไม่ได้ผล คุณสามารถลองปิดไคลเอ็นต์ SSH ได้ หากต้องการค้นหา ID กระบวนการ (PID) ของเซสชันของคุณ ให้ไพพ์คำสั่ง ps ผ่าน grep:

 ps aux | grep ssh

อาร์กิวเมนต์ 'aux' ของ ps หมายถึง 'รายการทุกกระบวนการในระบบ ไม่ว่าจะเป็นของใครหรือว่ามันมี ขั้วควบคุม หรือไม่.'

หากคุณมีหลายเซสชัน คุณสามารถเลือกเซสชันที่ตรึงไว้ได้ เนื่องจากรายการจะแสดงชื่อผู้ใช้และที่อยู่ในเครื่องระยะไกลที่เซสชัน SSH เข้าสู่ระบบอยู่ เมื่อคุณพบ PID ของเซสชั่นของคุณแล้ว คุณสามารถยุติมันได้ด้วยคำสั่ง kill:

 kill [PID]

เพื่อการเชื่อมต่อ SSH ที่ดีขึ้น ให้ใช้ Mosh!

  เซสชัน Remote Vim ภายใต้ Mosh โดยตัดการเชื่อมต่อเครือข่าย

วิธีที่ดีกว่าในการหลีกเลี่ยงเซสชัน SSH ที่ถูกแช่แข็งที่น่ารำคาญคือการใช้ โมช . หากการเชื่อมต่อหลุด Mosh จะให้คุณเชื่อมต่อต่อไป มันจะส่งข้อความใด ๆ เมื่อคุณเชื่อมต่อใหม่ นอกจากนี้ยังใช้งานได้เมื่อคุณให้เครื่องเข้าสู่โหมดสลีป

คุณยังสามารถใช้เทอร์มินัลมัลติเพล็กเซอร์เช่น GNU Screen หรือ tmux เพื่อดำเนินเซสชัน SSH ของคุณต่อหลังจากขาดการเชื่อมต่อ แต่ Mosh และ tmux จะมีประสิทธิภาพมากยิ่งขึ้นเมื่อใช้ร่วมกัน .

วิธีติดตั้ง Mosh บน Debian และ Ubuntu:

 sudo apt install mosh

และบน Arch Linux:

 sudo pacman -S mosh

ในตระกูล Distros ของ Red Hat:

 sudo dnf install mosh

ตอนนี้คุณสามารถกำจัดเซสชัน SSH ที่ค้างอยู่ได้แล้ว

เซสชัน SSH ที่ไม่ตอบสนองอาจทำให้หงุดหงิด แต่คุณสามารถกำจัดเซสชันเหล่านั้นได้ด้วย Escape Sequence หรือคำสั่ง Kill Mosh เป็นสิ่งทดแทนที่ดียิ่งขึ้นไปอีก ซึ่งจะทำให้การเชื่อมต่อของคุณคงอยู่ต่อไปหากการเชื่อมต่อขาดหายและระบบสลีป