שאלה כיצד להתחבר מחדש ssh מנותק מנותק


האם יש דרך להתחבר לפגישה ssh שהיה מנותק? אנו נתקלים בבעיות בחיבור הרשת שלנו לאתר מרוחק שבו אנו פועלים בנפרד; עם זאת, בינתיים אנו חווים מספר רב של ניתוק עקב מנות אבודות בעת חיבור לשרתים במיקום מרוחק. פעמים רבות הפגישה נשארת פעילה במשך זמן מה, ולפעמים זה קורה להיות באמצע פעולה כלשהי (עריכת קובץ, הפעלת תהליך כלשהו, ​​וכו '..) כי אני צריך לחזור ולא להפעיל מחדש אם אפשר.


141
2018-06-04 13:04




אני לא מאמין שאף אחד לא הזכיר mosh.mit.edu - jwbensley
@javano: מעולם לא שמעתי על זה. הוסף את זה כתשובה! - kbyrd
@kbyrd עשה;) - jwbensley
נשאלת שאלה דומה unix.stackexchange.com/questions/105001/... עם כמה רמזים כיצד לעבוד סביב ניתוקים מלכתחילה ... - anarcat


תשובות:


UPDATE: לקבלת תשובה ממשית, ראה תשובה של zero_r להלן

זו לא תשובה, אלא פתרון. להשתמש מסך.

בעת הכניסה הראשונה, הפעל את המסך. אתה מקבל עוד פגז, להפעיל פקודות בזה. אם אתה מנותק, תהליך המסך שומר את המסוף בחיים, כך פגז שלך ואת התהליכים היא פועלת לא נופלים. כאשר אתה מתחבר מחדש, הפעל 'מסך -r' כדי לחדש.

יש חבורה יותר כדי להגדיר את השימוש במסך, אבל האמור לעיל צריך לעקוף את הבעיה שלך.


126
2018-06-04 13:08



או להשתמש tmux - מסך "קריר", השתמשתי גם הרבה מעדיפים tmux כי אתה יכול לפצל את המונח יפה. - John Hunt
שמחתי למצוא screen כבר מותקן על שלי Ubuntu 12.x כך שאם אתה לא בטוח רק לנסות את הפקודה, זה עשה מחדש ולחדש את לעשות שחרור לשדרג תהליך: מסך sudo -D -r - bjm88
@ bjm88, sudo יש להשתמש רק אם הפעלת את המסך המקורי עם sudo. אחרת הוא יחזור כאילו לא קיים מושב מסך: There is no screen to be detached - Noam Manos


נסה להגדיר את ClientAliveInterval (למשל 60) ו- TCPKeepAlive (כן או לא) כדי להתאים ערכים ב- sshd.conf של השרתים.

זה צריך לשמור על הפגישה שלך בחיים גם אם הקשר הולך לאיבוד במשך דקות.


118
2018-06-04 13:08



עד כה, נראה שאתה היחיד שעונה על השאלה במקום להציע מסך כדרך לעקיפת הבעיה. - kbyrd
שיחה טובה. מצאנו שיטה זו שימושית במיוחד כאשר חוצה חומות אש ASA / PIX חומת אש, אשר כברירת מחדל אהבה את הזמן חיבורי tcp. - Mike Pountney
אולי זה לא המקום הנכון לשאול, אבל האם זה אפשרי עבור הפוסטר להחליף תשובות? אנחנו צריכים את התשובה 'מסך' (שלי לא הכי טוב, אני אוהב את מייק Pountney, אבל יש לי נציג) עם מידע זה. - kbyrd
האם זה עובד כאשר מחובר על חיבור VPN של Cisco, ואת החיבור VPN הוא איבד מחדש להקים? - Brent
עבורי עובד המסך המושלם, אני יכול להתחבר למשימה נבדק countiune לעבוד - integratorIT


כמוזכר לעיל, מסך גנו היא הדרך ללכת. זה יאפשר לך יש 'מושב מסך' על תיבת מרחוק, כי אתה יכול להריץ מספר פקודות ב, באמצעות מספר 'חלונות מסך'. זה יהיה פשוט לנתק אם החיבור SSH האב שלך מת, שמירה על כל subprocesses לפעול בו חי וקיים.

'man screen'הוא החבר שלך כרגיל, וחבילת מערכת ההפעלה צריכה להיקרא'screen'אם הוא אינו מותקן כברירת מחדל.

היסודות הם:

  • הפעלת הפעלת מסך (במארח המרוחק):

    $ screen
    
  • התנתק מהפעלת המסך שלך: CTRL-A, ד

  • התחבר שוב להפעלת המסך לאחר כניסה חזרה:

    $ screen -d -r
    
  • פתח חלון 'חלון' אחר: CTRL-A, c

  • מחזור דרך החלונות הפתוחים: CTRL-A, חלל

יש המון של דברים מגניבים שאתה יכול לעשות עם מסך. אני כבר משתמש בו במשך 10 שנים, ועדיין אני מוצא את התכונות החדשות. זה השירות האהוב עלי יוניקס.


59
2018-06-04 13:19



כן, זו תשובה טובה בהרבה משלי. - kbyrd
האם אני עדיין יכול להתחבר ssh מנותק מנותק, אם אני לאתחל את המחשב שבו המסך פועל? - BarathVutukuri


אני לא מאמין שאף אחד לא הזכיר מוש;

מוש הוא פרוטוקול נפרד שיכול להתחבר לתוך תהליך הכניסה SSH, זה שומר על הפגישה שלך בחיים לאחר ימים של ניתוק, שינוי IP, חביון גבוהה וכן הלאה. זה מוסבר בדף הבית יותר טוב אני יכול להסביר את זה אז יש לי להעתיק את התיאור להלן. החוויות שלי ועצות הם כי אני משתמש בו על אנדרואיד הנייד שלי, זה שומר החיים בעת נסיעה SSH'ing. הדבר נכון גם על המחשב הנייד שלי כאשר קשור עם הנייד ברכבת למשל. אני ממליץ לקמפל מהמקור כדי לקבל את הגרסה העדכנית ביותר, את גירסת ריפו לי בתוך אובונטו יש כמה מטרד בו אשר קבועים בגרסה החדשה ביותר (בזמן הכתיבה).

מוש (פגז נייד)

יישום מסוף מרוחק המאפשר נדידה, תומך לסירוגין   קישוריות, ומספק הד מקומי אינטליגנטי עריכת שורה של   משתמש הקשות.

מוש הוא תחליף ל- SSH. זה יותר חזק ו תגובה,   במיוחד על גבי Wi-Fi, סלולרי, וקישורים למרחקים ארוכים.

מוש היא תוכנה חופשית, זמין עבור גנו / לינוקס, FreeBSD, Solaris, Mac   OS X ו- Android.

תכונות מהאתר:

  • שנה את ה- IP. תשאר מחוברYou מוש נודד אוטומטית בזמן שאתה זז בין חיבורי אינטרנט. השתמש ב- Wi-Fi ברכבת, Ethernet ב מלון, ו- LTE על החוף: תישאר מחובר. רוב הרשת תוכניות לאבד את הקשרים לאחר נדידה, כולל SSH ו- Web יישומים כמו Gmail. מוש שונה.

  • עושה עבור חלומות מתוקיםYou עם מוש, אתה יכול לשים את המחשב הנייד לישון ולהעיר אותו מאוחר יותר, שמירה על שלך החיבור. אם חיבור האינטרנט שלך יורד, מוש יזהיר אותך - אבל חיבור קורות חיים כאשר שירות הרשת חוזר.

  • להיפטר פיגור הרשתYou SSH ממתין לתשובת השרת לפני הצגת ההקלדה שלך. זה יכול לעשות עבור ממשק משתמש מחורבן. מוש שונה: הוא נותן תגובה מיידית להקליד, מחיקה ועריכה של שורות. הוא עושה זאת באופן מסתגל ועובד אפילו במסך מלא תוכניות כמו emacs ו vim. על חיבור רע, תחזיות יוצאת דופן מודגשות כדי שלא תטעו.

  • אין קוד מועד. ללא שם: לא daemonYou אתה לא צריך להיות superuser להתקין או להפעיל Mosh. הלקוח והשרת הם קובצי הרצה המנוהלים על ידי משתמש רגיל ונותנים רק לחיי החיבור.

  • אותה שיטת התחברותYou מוש אינו מקשיב ביציאות רשת או מאמת משתמשים. הלקוח יומני נכנס ל השרת באמצעות SSH, והמשתמשים מציגים את אותם פרטי כניסה (למשל, סיסמה, מפתח ציבורי) כמו קודם. ואז מושי מפעיל את השרתים מרחוק ומתחבר אליו על UDP.

  • פועל בתוך המסוף שלך, אבל יותר טובYou מוש היא תוכנית של שורת פקודות, כמו ssh. אתה יכול להשתמש בו בתוך xterm, מסוף gnome, urxvt, Terminal.app, iTerm, emacs, מסך, או tmux. אבל מאש תוכנן מאפס ותומך רק קבוצה אחת אופי: UTF-8. זה מתקן באגים Unicode במסופים אחרים ב SSH.

  • שליטה- C עובד נהדרYou בניגוד SSH, פרוטוקול UDP מבוסס של UDP מטפל אובדן מנות בחן, ומגדיר את המסגרת קצב המבוסס על תנאי הרשת. מוש לא ממלא מאגרים ברשת, כך Control-C
    תמיד עובד כדי לעצור את תהליך בורח.


41
2017-11-24 13:01



מוש הוא לא עטיפת Ssh - זהו פרוטוקול אחר, כמעט ללא קשר ל- ssh (הוא משתמש רק ב- ssh לצורך התחברות). - jch
+1 נכון מאוד, טעות שלי. - jwbensley
מה עם ביטחון, אדם באמצע? הצפנה? החלפת שערי - Nasir Iqbal


autosh צופה בחיבור שלך ואם הוא יורד, הוא מתחבר מחדש. זה אמין יותר מאשר משמרים. אם תתחבר להפעלת מסך, תמשיך ישר מהמקום שבו נתקלת (ראה rscreen שמגיע עם autossh)


19
2018-06-06 09:11



מחוץ להגדרה לשמור על חיים, זה אינו מאפשר לך להתחבר מחדש לפגישה (מה OP חיפש). אבל autosh יכול להיות מועיל באמת עבור יישומים הדורשים ssh מנהרות, מיפוי נמל, וכו ' - ives
כן autosh + המסך יהיה מקום מתוק. autosh יש rscreen לזה. - hayalci
Autossh הוא טוב יותר מ mosh. השתמשתי בשני. - Sridhar-Sarnobat
הנה פוסט בבלוג של ג 'סי קיטינג, על השימוש autosh עם המסך. - sampablokuper


הייתי להתקין ולהתחיל את המסך כדי לתקן את הבעיה. המסך יאפשר לך להתחבר מחדש להפעלה במסך הקודם.

חוץ מזה, המסך גם מאפשר לך לעשות דברים מגניבים כמו לפצל את המסך, להציג את המסוף וכו 'אתה יכול למצוא מידע נוסף כאן ו כאן.

בתור התחלה, אם אתה מקבל מנותקים, אתה יכול להשתמש

screen -ls

כדי להציג את הפגישות שלך

screen -r ${session} 

כדי להתחבר מחדש למנותק.


9
2018-06-04 13:06





tmux

זה הוא קלאסי. השתמש בו בכל פעם שאתה מסתכן באיבוד חיבור למסוף.

$ tmux
$ sh do_something_that_takes_forever

!! Connection fails so you reconnect once you notice

$ tmux ls
0: 1 windows (created Tue Aug 23 12:39:52 2011) [103x30]

$ tmux attach -t 0

ללא שם: בדיוק ככה, אתה בחזרה בפעולה.


9
2018-04-06 01:24



תודה רבה! חיפשתי איך לעשות את זה עם tmux, שכן נראה כי מה שרוב האנשים רואים את האפשרות הטובה ביותר. - CoolOppo


כפי שציינו אחרים, המסך הוא בדרך כלל הפתרון הטוב ביותר עבור זה והוא מוסיף שורה של תכונות שימושיות אחרות מדי.

אתה יכול להגדיר את הפרופיל שלך על המחשב המרוחק כדי להתחיל ו / או להתחבר מחדש למסך הכניסה, מה שמחסוך לך להתחיל לשכוח את המסך פעם אחת אתה צריך את זה כי אתה סובל ירידה החיבור.

ראה http://tlug.dnho.net/?q=node/239 (או לחפש את גוגל עבור דוגמאות רבות אחרות dones דרכים שונות במקצת).


3
2018-06-04 13:47



תסריט נחמד בקישור הזה, תודה! - palehorse


אלטרנטיבה מודרנית יותר למסך, למרבה הצער, לא ניתן להשיג סוגים מסוימים של "וירטואליזציה" (למשל ב cygwin אתה יכול לקבל "מסך", אבל לא "tmux" בשל הדרך בה הוא מתוכנן), אבל בכל מקום יש לך את האפשרות להתקין tmux , אני ממליץ בחום ללכת על זה אחד של המסך.


2
2018-03-23 11:44