תיקון: ssh_exchange_identification & lsquo; חיבור נסגר על ידי מארח מרוחק & rsquo;

בעוד שבמקרים רבים ssh_exchange_identification: חיבור שנסגר על ידי שגיאת מארח מרוחקת יכול להיגרם מבעיות הקשורות לקבצי התצורה של hosts.deny ו- hosts.allow, ישנם דברים אחרים שיכולים לגרום לבעיה. אם אתה קורא את זה, רוב הסיכויים שכבר בדקת כדי לוודא ששני הקבצים האלה לא חוסמים את כתובת ה- IP שלך מנסיון להשתמש ב- ssh בשרת מרוחק.

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

שיטה 1: תיקון תלות חסרה

אם קיבלת את ssh_exchange_identification: החיבור נסגר על ידי שגיאת מארח מרוחק רק לאחר עדכון OpenSSL או glibc, ייתכן שאתה מסתכל על תלות חסרה. הפעל sudo lsof -n | grep ssh | grep DEL משורת הפקודה במצב זה. זה ייתן לך רשימה של קבצים פתוחים, ואז חפש רק את אלה שנמחקו לאחרונה הקשורים לדמון ssh.

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

אתה יכול לנסות להשתמש ב- apt-get, pacman או yum כדי לעדכן גם את החבילות שלך אם אתה חושד שתלות היא בעיה. אם אתה נמצא במערכת מבוססת דביאן או אובונטו, כדאי לנסות לשדרג את sudo apt-get -f ולראות אם זה מתקן חבילות שבורות שאולי נפלתם עליהן.

שיטה 2: תיקון שברי זיכרון

אם זה לא עזר, ייתכן שיש לך בעיה בצד המארח של המשוואה. מארחים הפועלים בתוך VM לא תמיד כוללים מחיצת החלפה, מה שעלול להוביל לפיצול זיכרון. גש למארח באמצעים אחרים, אולי פיזית אם אפשר, ואז הפעל מחדש את כל השירותים הסובלים מבעיות. MySQL, Apache, nginx ושירותים כאלה אחרים עשויים להיות האשמים.

אמנם לא תמיד ניתן לבצע אתחול מחדש של המארח, אך הדבר יכול לתקן את הבעיה ועשוי להיות רעיון טוב אם החלפת בין הודעת שגיאה זו לזו שמחזירה כתובת IP. זכור שאם יש לך גישה כלשהי לשרת, תוכל להפעיל את הפקודה vmstat -s ולקבל נתונים סטטיסטיים חשובים על האופן שבו הזיכרון מתרגל אפילו כמשתמש רגיל במקרים רבים.

שיטה 3: בדוק אם קיימים מקרים נוספים של ssh

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

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

שיטה 4: מצא את מגבלת החיבור sshd

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

נסה לרוץ בשרת כדי למצוא כמה חיבורים ש- sshd יכולים לטפל בהם. ברוב המקרים, המערכת צריכה להיות ברירת מחדל ל -10 חיבורים בו זמנית, וזה אמור להיות מספיק עבור מרבית מבני השרתים שרוב המשתמשים עשויים להזדקק להם להשתמש בהם באופן קבוע.