คุณอาจกำลังพิมพ์เซสชัน SSH ระยะไกล แต่จู่ๆ ก็ไม่มีอะไรเกิดขึ้น ดูเหมือนว่าระบบจะไม่ตอบสนองต่อการกดแป้นพิมพ์ของคุณ คุณทำงานอะไร?
ใช้แรม 4gb กับ 8gb ด้วยกันได้ไหมครับMUO วิดีโอประจำวันนี้ เลื่อนเพื่อดำเนินการต่อด้วยเนื้อหา
นี่คือสาเหตุว่าทำไมจึงเป็นเช่นนั้น วิธีออกจากเซสชัน SSH ที่ไม่ตอบสนอง และสาเหตุที่คุณอาจต้องการเปลี่ยนไปใช้ Mosh
อะไรทำให้เซสชัน SSH หยุดทำงาน
สาเหตุหลักที่เซสชัน SSH หยุดทำงานคือการเชื่อมต่อเครือข่ายลดลง สัญญาณ Wi-Fi อาจลดลง หรือคุณอาจปล่อยให้คอมพิวเตอร์เข้าสู่โหมดสลีป นี่เป็นเรื่องธรรมดาที่สุดกับแล็ปท็อป คุณอาจปิดฝาแล็ปท็อปโดยลืมไปว่าคุณยังคงเข้าสู่ระบบผ่าน SSH
SSH เดิมทีได้รับการออกแบบในยุคก่อนที่ผู้คนจะใช้แล็ปท็อปเป็นประจำ SSH ทำงานได้ดีกว่าบนเครือข่ายแบบมีสาย
1. ยุติด้วยลำดับการหลบหนี
หากเซสชัน SSH ของคุณค้าง ให้ลองใช้ลำดับหลีก Escape Sequence ช่วยให้คุณส่งสัญญาณไปยังไคลเอ็นต์ SSH แทนเครื่องระยะไกลได้ ลำดับการหลีกนำหน้าด้วยอักขระหลีก ตามค่าเริ่มต้นบนไคลเอนต์ OpenSSH มันคือ ตัวหนอน (~) อักขระ.
หากต้องการออกจากไคลเอ็นต์ SSH คุณสามารถกดปุ่มตัวหนอนแล้วตามด้วย ระยะเวลา (.) สำคัญ.
คุณยังสามารถเปลี่ยนอักขระหลีกได้หากต้องการ คุณสามารถระบุอักขระหลีกใหม่ได้โดยใช้ -มันคือ ตัวเลือกที่บรรทัดคำสั่ง คุณสามารถเปลี่ยนได้อย่างถาวรโดยตั้งค่า EscapeChar ตัวเลือกในของคุณ .ssh/การกำหนดค่า ในโฮมไดเร็กตอรี่ของคุณบนเครื่องท้องถิ่น
2. การใช้คำสั่งฆ่า
หากการใช้ Escape Sequence ไม่ได้ผล คุณสามารถลองปิดไคลเอ็นต์ SSH ได้ หากต้องการค้นหา ID กระบวนการ (PID) ของเซสชันของคุณ ให้ไพพ์คำสั่ง ps ผ่าน grep:
ps aux | grep ssh
อาร์กิวเมนต์ 'aux' ของ ps หมายถึง 'รายการทุกกระบวนการในระบบ ไม่ว่าจะเป็นของใครหรือว่ามันมี ขั้วควบคุม หรือไม่.'
หากคุณมีหลายเซสชัน คุณสามารถเลือกเซสชันที่ตรึงไว้ได้ เนื่องจากรายการจะแสดงชื่อผู้ใช้และที่อยู่ในเครื่องระยะไกลที่เซสชัน SSH เข้าสู่ระบบอยู่ เมื่อคุณพบ PID ของเซสชั่นของคุณแล้ว คุณสามารถยุติมันได้ด้วยคำสั่ง kill:
kill [PID]
เพื่อการเชื่อมต่อ SSH ที่ดีขึ้น ให้ใช้ 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 เป็นสิ่งทดแทนที่ดียิ่งขึ้นไปอีก ซึ่งจะทำให้การเชื่อมต่อของคุณคงอยู่ต่อไปหากการเชื่อมต่อขาดหายและระบบสลีป