למנוע SSH Connection Timing Out / Broken Pipe

מדריך זה מציע לך פתרון טוב מאוד אם אתה משתמש בחיבורי SSH ונתקל בשגיאה: SSH Connection Timing Out / Broken Pipe. טעות שנאמרה בצורה לא נכונה. זוהי הודעה המודיעה שהחיבור בין המחשב שלך לשרת שאליו היה מחובר נסגר Putty או Terminal.

שניהם כמשתמש של Windows כמו גם על ידי Mac (בעשר השנים האחרונות) ביליתי הרבה זמן חיבורי SSH לשרתי אינטרנט, שרתי דואר אלקטרוני, ענן וחבילות גיבוי אחרות. הפצה מועדפת של Linux הוא ללא ספק CentOS.

אחד הדברים הכי מלחיצים לעשות administratorשרת ii הוא להפריע לחיבורי SSH. או פתאום תוך כדי כפתור במרק או Terminal (לרוב מדובר בבעיית חיבור מקומית), או לאחר זמן של "idle”- פרק הזמן בו הוא אינו מתקשר עם השרת המרוחק באמצעות הפעלת SSH.

אם אתה משתמש Mac ולהשתמש בכלי השירות Terminal עבור החיבור המרוחק באמצעות SSH, אז בוודאי לאחר חוסר פעילות נותקת את ההודעה:client_loop: send disconnect: Broken pipe”. נתתי את הפיתרון פנימה המאמר כאן, בו אמרתי שניתן להוסיף אותו ב "/etc/ssh/ssh_config" השורה:

Host *
ServerAliveInterval 120

הפתרון שלעיל תקף למשתמשים ב- Macובאמת להיות העדכונים האחרונים של macOS אני לא שומר את השינויים שבוצעו בקובץ לאחר ההפעלה מחדשssh_config", והבעיה בניתוק מושב סרק חוזרת.

פתרון שבאמצעותו אנו יכולים למנוע ניתוק של הפעלת SSH במרחק שנקבע על ידי Terminal (macOS) או מרק (Windows), הוא כמו מלבד "ServerAliveInterval"מהמחשב שלנו, כדי לקבוע את השרת המרוחק לתקשר מעת לעת עם היישום / לקוח SSH.
לכן עלינו לשים את ההנחיה "ClientAliveInterval"ב-"sshd_config”בשרת אליו אנו מתחברים.

למנוע SSH Connection Timing Out / Broken Pipe (ssh_config טיפים)

1. אנו מתחברים לשרת שאנו רוצים להפעיל ומגדירים מרווח זמן עבור "ClientAliveInternal". לִפְתוֹחַ SSH in Putty, Terminal או כלי עזר דומה אחר ואנו מאמתים עם המשתמש root.

ssh root@server.hostname

2. בצע את שורת הפקודה כדי לחפש בקובץ "sshd_config" אם "ClientAliveInterval” פעיל ומהו פרק הזמן שנקבע.

sudo grep "ClientAliveInterval" /etc/ssh/sshd_config

בתרחיש שלנו"ClientAliveInterval" מושבת וערך מרווח הזמן הוא אפס.

[root@buffy ~]# sudo grep "ClientAliveInterval" /etc/ssh/sshd_config
#ClientAliveInterval 0
[root@buffy ~]# 

ההאשטאג "#"מוצב מול קו, מבטל את זה. היא לא פעילה.

3. אנו פותחים עם העורך "nano"או"vim"קוֹבֶץ"sshd_config". אני מעדיף "nano

sudo nano /etc/ssh/sshd_config

4. מחק “#"מול התור"ClientAliveInterval”וקבע מספר שניות: 60, 120 ...

ClientAliveInterval 120
ClientAliveCountMax 10

5. שמור את השינויים והפעל מחדש את השירות "sshd

sudo systemctl restart sshd

ClientAliveInterval : זהו מרווח הזמן בשניות שהשרת שולח חבילת נתונים אפס ללקוח / היישום שדרכו אנו מחוברים לשרת. תרגול זה ישמור על הקשר בחיים / פעיל.

ClientAliveCountMax : לקוחות SSH לא מגיבים ב -10 מחזורים של 120 שניות (מוגדר על ידי "ClientAliveInterval") החיבור יופסק. כלומר, לאחר 20 דקות בהן הלקוח SSH לא הגיב למנות null שנשלחו על ידי השרת.

עם השינויים האלה הקשר SSH זה יהיה יציב יותר ויישאר בטוח באותה מידה.

כחובב טכנולוגיה, אני כותב בשמחה ב- StealthSettings.com מאז 2006. יש לי ניסיון עשיר במערכות הפעלה: macOS, Windows, ו- Linux, וגם בשפות תכנות ופלטפורמות בלוגינג (WordPress) ולסוחרת אלקטרונית (WooCommerce, Magento, PrestaShop).

איך » Linux » למנוע SSH Connection Timing Out / Broken Pipe
השאירו תגובה