הנה מה לעשות כאשר חיבורי ה-SSH שלך בלינוקס אינם מגיבים והקשות המקשים אינן פועלות.
ייתכן שאתה מקליד בהפעלת SSH מרחוק, ופתאום שום דבר לא קורה. נראה שהמערכת לא מגיבה להקשות שלך. מה אתה עושה?
הנה למה זה קורה, איך לצאת מסשן SSH לא מגיב, ולמה אולי תרצה לעבור ל-Mosh.
מה גורם להקפאת הפעלות SSH?
הסיבה העיקרית להקפאת הפעלות של SSH היא ניתוק החיבור לרשת. אותות Wi-Fi יכולים לרדת, או שתאפשר למחשב ללכת למצב שינה. זה נפוץ ביותר עם מחשבים ניידים. אתה עלול לסגור את מכסה המחשב הנייד תוך שוכח שאתה עדיין מחובר דרך SSH.
SSH תוכנן במקור בעידן לפני שאנשים השתמשו בשגרה במחשבים ניידים. SSH עובד טוב יותר ברשתות קוויות.
1. סיים עם רצף בריחה
אם הפעלת ה-SSH שלך קופאת, נסה להשתמש ברצף בריחה. רצף בריחה מאפשר לשלוח אותות ללקוח ה-SSH במקום למכשיר המרוחק. לרצפי בריחה מקדימה דמות בריחה. כברירת מחדל בלקוח OpenSSH, זה טילדה (~) אופי.
כדי לצאת מלקוח SSH, אתה יכול ללחוץ על מקש tilde ולאחר מכן על פרק זמן (.) מַפְתֵחַ.
אתה יכול גם לשנות את דמות הבריחה אם אתה רוצה. אתה יכול לציין תו בריחה חדש עם ה -ה אפשרות בשורת הפקודה. אתה יכול גם לשנות אותו לצמיתות על ידי הגדרת ה
EscapeChar אפשרות אצלך .ssh/config קובץ בספריית הבית שלך במחשב המקומי.2. שימוש בפקודה להרוג
אם השימוש ברצף בריחה לא עובד, אתה יכול לנסות להרוג את לקוח ה-SSH. כדי למצוא את מזהה התהליך (PID) של הפגישה שלך, העבר את הפקודה ps דרך grep:
ps aux | grep ssh
הארגומנט "aux" ל-ps פירושו "רשום כל תהליך במערכת, לא משנה למי הוא שייך או אם יש לו מסוף שליטה או שלא."
אם יש לך מספר הפעלות, אתה יכול לבחור את ההקפאה מכיוון שהרישום יציג את שם המשתמש והכתובת במחשב המרוחק שאליו הפעלות SSH מחוברות. לאחר שמצאת את ה-PID של ההפעלה שלך, אתה יכול לסיים אותו עם פקודת kill:
kill [PID]
לחיבורי SSH טובים יותר, השתמש ב-Mosh!
דרך טובה יותר להימנע ממפגשי SSH קפואים מעצבנים היא להשתמש מוש. אם החיבור נופל, מוש יאפשר לך להישאר מחובר. זה ישלח הודעות כלשהן כשתתחבר מחדש. זה עובד גם כשאתה מכניס את המכשיר למצב שינה.
אתה יכול גם להשתמש במרבב מסוף כמו GNU Screen או tmux כדי לחדש את סשן ה-SSH שלך לאחר כל ניתוק, אבל Mosh ו-tmux חזקים אפילו יותר כאשר משתמשים בהם יחד.
כדי להתקין את Mosh על דביאן ואובונטו:
sudo apt install mosh
וב- Arch Linux:
sudo pacman -S mosh
על משפחת ההפצות של Red Hat:
sudo dnf install mosh
עכשיו אתה יכול להיפטר ממפגשי SSH תקועים
הפעלות SSH שאינן מגיבות יכולות להיות מתסכלות, אבל אתה יכול להיפטר מהן באמצעות רצף בריחה או פקודת ה-kill. Mosh הוא תחליף אפילו טוב יותר שישמור על החיבור שלך בחיים באמצעות נפילות חיבור ושינה מערכת.