SSH בנתיב פרטי נוסף כשהרשת הפרטית הווירטואלית נשארת פעילה
שירות SSH הכבול לכתובת מנהרה לא יענה בממשק פרטי חדש. הוסיפו את הכריכה ואמתו הפעלה חדשה לפני סגירת הישנה.
מכונה אחת מגיעה לאחרת דרך VPN, ומישהו רוצה כעת את אותה מעטפת מרוחקת דרך רשת פרטית של ספק. המסלול קיים, הפינג מצליח, ו-SSH עדיין מסרב. הסיבה השכיחה היא שהדמון מעולם לא האזין בכתובת החדשה, ולכן אין למה להתחבר. זו בעיית כריכת כתובת לפני שהיא בעיית חומת אש.
מדוע מסלול חדש אינו יוצר מאזין חדש
שקע האזנה נוצר על ידי תהליך שמציין את הכתובות שבהן יקבל חיבורים. מסלול רק אומר לחבילות לאן לנסוע; הוא אינו יוצר מאזין ביעד. כאשר sshd מוגדר עם ListenAddress יחיד, חיבורים לכל כתובת מקומית אחרת נדחים למרות שהממשק פעיל. כך גם לגבי יחידת שקע שמחזיקה בפורט, ולכן הבדיקה הראשונה היא תמיד מה באמת מאזין.
השוו בין שני הנתיבים לפי כתובת היעד ולא לפי שם הממשק. לקוח מתחבר לכתובת, וכתובת זו חייבת להיות כבולה לפני שכלל חומת אש כלשהו יהיה רלוונטי.
הצגת הכתובות והמאזינים
לפני עריכת משהו, תעדו את הכתובות במארח ואת השקעים שקיימים כעת.
ip -br addr
ss -ltnp | grep ':22'רשימת הכתובות מראה איזו כתובת פרטית אמיתית ובאיזה ממשק, בעוד רשימת השקעים מראה אם משהו כבול אליה. מאזין על 0.0.0.0:22 כבר מקבל כל כתובת, ולכן כריכה חדשה אינה מוסיפה דבר. מאזין על כתובת ספציפית אחת מסביר את הדחייה מיד. אם הפורט שייך ליחידת שקע ולא לדמון, תצורת הדמון אינה כל הסיפור.
הוספת הכריכה ושמירת הישנה
OpenSSH מקבל כמה ערכי ListenAddress, כך שנתיב ה-VPN יכול להישאר בזמן שהנתיב הפרטי מתווסף. בדקו את הקובץ לפני טעינתו מחדש.
sshd -t
systemctl reload sshdבדיקת תצורה שנכשלה משאירה את הדמון הפעיל ללא שינוי, וזה בדיוק מה שרוצים כשמחוברים דרך הנתיב שאתם עורכים. שמרו על הערך הקיים, הוסיפו את הכתובת המקומית החדשה, ואשרו שהשירות נטען מחדש בלי לנתק את הסשן הנוכחי. בהתקנות המופעלות על ידי שקע, הוסיפו את הכתובת ליחידת השקע במקום וטענו מחדש את היחידה. לאחר מכן קראו שוב את רשימת המאזינים, כי כריכה שלא הופיעה מעולם פירושה שערכתם את הרכיב הלא נכון.
אימות הסשן החדש לפני סגירת הישן
התחברו לכתובת החדשה בזמן שהסשן המקורי עדיין פתוח, תוך שימוש בפלט מפורט כדי לראות באיזו כתובת ובאיזה מפתח נעשה שימוש. השאירו את הסשן המקורי פתוח עד שהבדיקה תצליח פעמיים.
ssh -v [email protected]קראו את שורות הניפוי עבור כתובת היעד ומפתח המארח שהוצג. אשרו את טביעת האצבע של מפתח המארח מול ערך שכבר מהימן בעיניכם, במקום לקבל מפתח לא מוכר מפני שהרשת מתוארת כפרטית. היעד החדש זקוק לרשומת known_hosts משלו, וזה צפוי. רק לאחר שהנתיב הפרטי עובד יש לסגור את סשן הניהול הישן.
SSH מגן על התעבורה, אך הוא אינו הופך שתי רשתות לשוות זו לזו בבידוד. החליטו אם האמון של המעבר הפרטי מתאים לנתונים לפני שתישענו עליו.