מדריך זה מציע לך פתרון טוב מאוד אם אתה משתמש בחיבורי SSH ונתקל בשגיאה: תזמון חיבור SSH / Broken Pipe. טעות שנאמרה בצורה לא נכונה. זוהי הודעה המודיעה שהחיבור בין המחשב שלך לשרת שאליו היה מחובר נסגר Putty אוֹ Terminalו
גם כמשתמש Windows וגם כמשתמש Mac (בעשר השנים האחרונות) ביליתי הרבה זמן חיבורי SSH לשרתי אינטרנט, שרתי דואר אלקטרוני, ענן ומערכות גיבוי אחרות. ההפצה המועדפת של לינוקס היא ללא ספק CentOSו
אחד הדברים המלחיצים ביותר עבור מנהלי שרתים הוא כדי להפריע לחיבורי SSH. או פתאום תוך כדי כפתור במרק או Terminal (רוב הזמן זו בעיית חיבור מקומי), או לאחר זמן מה “idle” – פרק הזמן שבו הוא לא יוצר אינטראקציה עם השרת המרוחק דרך הפעלת SSH.
אם אתה משתמש ב-Mac ואתה משתמש בכלי המסוף לחיבור מרחוק באמצעות SSH, אז בוודאי לאחר חוסר פעילות מסויים התנתקת עם ההודעה:client_loop: שלח ניתוק: צינור שבור". נתתי את הפתרון המאמר כאן, שבו אמרתי שאפשר להוסיף אותו “/etc/ssh/ssh_config” קַו:
Host *
ServerAliveInterval 120
הפתרון שלעיל תקף עבור משתמשי Mac, ולמען האמת, עדכוני macOS האחרונים אינם שומרים את השינויים שבוצעו בקובץ לאחר הפעלה מחדש “ssh_config“, והבעיה בניתוק הפעלה סרק חוזרת.
פתרון שבאמצעותו נוכל למנוע ניתוק של סשן SSH במרחק שנקבע על ידי מָסוֹף (macOS) או מֶרֶק (Windows), זה כמו ליד זה “ServerAliveInterval” מהמחשב שלנו, בוא נקבע גם שהשרת המרוחק יתקשר מעת לעת עם האפליקציה / לקוח SSH.
בשביל זה אנחנו צריכים לשים את ההנחיה “ClientAliveInterval” ב “sshd_config” בשרת שאנו מתחברים אליו.
מניעת תזמון חיבור SSH / צינור שבור (ssh_config טיפים)
1. אנו מתחברים לשרת שאנו רוצים להפעיל וקובעים לו מרווח זמן “ClientAliveInternal“. לִפְתוֹחַ SSH ב Putty, Terminal או כלי עזר דומה אחר ואנו מאמתים עם המשתמש rootו
ssh [email protected]
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 ~]#
האשטאג של Semnul “#” מוצב מול קו, מבטל אותו. היא פעילה.
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 : זהו מרווח הזמן בשניות כאשר השרת שולח חבילת נתונים null ללקוח/אפליקציה שדרכו אנו מחוברים לשרת. תרגול זה ישמור על הקשר חי/פעיל.
ClientAliveCountMax : לקוחות SSH לא מגיבים ב-10 מחזורים של 120 שניות (נקבע על ידי “ClientAliveInterval“) החיבור יופסק. כלומר לאחר 20 דקות בהן הלקוח SSH לא הגיב למנות null שנשלחו על ידי השרת.
עם השינויים האלה הקשר SSH זה יהיה יציב יותר ויישאר בטוח באותה מידה.