שני כינויים ל‑SSH, שרת אחד: VPN ישיר או מארח קפיצה
שמרו מסלול VPN מאושר ומסלול מאחז מאושר ככינויים וסימניות נפרדים, כדי ששום קיצור דרך לא יצטרך לנחש איזה מסלול מורשה.
אותו שרת פרטי עונה דרך VPN מאושר ודרך מאחז מאושר, ואתם רוצים סימנייה אחת ב‑Emacs לכל אחד במקום קיצור דרך שמנחש. ההחלטה אינה איזה מסלול טוב יותר; היא איזה מסלול מורשה לעבודה שלפניכם. השאירו את שניהם מפורשים, תנו להם שמות נפרדים, ותנו לשם הקובץ לומר איזה מהם בחרתם.
תנאי ראשון: אילו מסלולים מאושרים?
מארח קפיצה אינו חלופה אוטומטית לדרישת VPN, ו‑VPN אינו רישיון לעקוף מאחז מאושר. שאלו אילו מסלולים מורשים לחשבון שלכם ולנתונים האלה. אם שניהם מאושרים, יש לכם בחירה; אם רק אחד, למערכת הסימניות יש ערך אחד. התשובה הזו מגיעה מבעל הנתונים, לא מהמסלול שבמקרה עובד היום.
רשמו את התשובה, כי ההבחנה נעלמת במהירות בזמן תקלה.
שני המסלולים זקוקים גם להגדרת חשבון וזהות משלהם. כינוי משותף שעובד דרך מסלול אחד עלול להיכשל דרך האחר מסיבות שאין להן דבר עם הרשת.
תנאי שני: האם אתם יכולים לתת לכל מסלול שם מובחן?
תצורת SSH יכולה להחזיק שני כינויים למארח עבור כתובת אחת, כל אחד עם התנהגות פרוקסי שונה. הציבו את הבלוקים הספציפיים לפני כל תו כללי רחב, כי הערך הראשון שמתקבל מנצח ברוב האפשרויות.
Host proj-direct proj-bastion
HostName 10.60.0.21
User analyst
ControlPath none
Host proj-direct
ProxyJump none
Host proj-bastion
ProxyJump gw.example.com
הכתובת למעלה היא דוגמה; החליפו אותה בזו שהצוות שלכם מתעד. כינוי הקפיצה זקוק גם לחשבון המאושר של המאחז, שבדרך כלל אומר בלוק Host שני עבור המאחז עצמו. השבתת שיתוף החיבורים כאן שומרת על השוואת מסלולים הוגנת, כי חיבור מרובב בשימוש חוזר יכול לחיות יותר משינוי המסלול שאתם מנסים לראות.
ואז שמות הקבצים המרוחקים נשארים מובחנים וקריאים.
/ssh:proj-direct:/srv/project/README.md
/ssh:proj-bastion:/srv/project/README.md
תנאי שלישי: האם העורך יודע את ההבדל?
TRAMP מתייחס לשני שמות הקבצים האלה כיעדים שונים, וזה בדיוק מה שאתם רוצים. סמנו כל אחד בסימנייה תחת שם שאומר באיזה מסלול הוא משתמש, ופתחו מחדש את הסימנייה במקום לערוך את המשמעות של יעד אחד. שתי סימניות גם הופכות את ההשוואה לגלויה: אתם יכולים לפתוח את שתיהן ולראות איזו נכשלת בלי לשנות שום תצורה.
הגדרה אחת ראויה לתשומת לב כש‑ProxyJump מעורב: שיתוף החיבורים של TRAMP חייב להיות כבוי עבור החיבורים הרלוונטיים, אז הגדירו את tramp-use-connection-share ל‑nil לפני שאתם פותחים אותם. זו הגדרת תאימות, לא תיקון של מסלול חסר, והיא לא הופכת מסלול לא מורשה למורשה. שאלות נפוצות של TRAMP מתעדות סימניות כדרך הנתמכת לקצר את השמות האלה.
סימנייה שמחליפה מסלול בשקט גרועה מאין סימנייה כלל.
למה סמל הרשת לא מוכיח דבר
ערך המצב הכולל 70 של NetworkManager אומר שלמכונה יש קישוריות גלובלית. הוא לא נוקב בשם פרופיל VPN, ו‑Wi-Fi רגיל מספק אותו. מנהרה פרטית בלבד שנושאת בדיוק את המסלול שאתם צריכים עשויה להשאיר את הערך המצטבר הזה ללא שינוי. לכן קיצור דרך שמקושר לסמל יכול לדווח על מוכנות למסלול שמעולם לא נבדק.
קראו את מצב החיבור הספציפי במקום את המצב הגלובלי.
אם אתם מאוטמים משהו, שאלו את החיבור הנקוב, ואז בדקו את מסלול היעד, את תשובת הפותר ואת נגישות SSH בסדר הזה. כל אחד מאלה יכול להיכשל בזמן שהקודם מצליח, ולכווץ אותם לערך בוליאני אחד היא הדרך שבה אוטומציה בסופו של דבר מדווחת על הצלחה למסלול שמעולם לא השתמשה בו.
מה לעשות כשמסלול מפסיק לעבוד
שמרו את החוצצים שלכם לפני חקירה, כי הפעלת TRAMP קיימת יכולה לחיות יותר משינוי מסלול ואז להיכשל בכתיבה הבאה. סגרו אותה דרך הניקוי הנתמך, פתחו מחדש את הסימנייה, והשוו בין שני המסלולים במקום להניח שהשרת למטה.
השאירו אימות מפתח מארח פעיל גם למאחז וגם ליעד.
מסלול שונה אינו מקנה לכם זכות לקבל מפתח שרת שלא ציפיתם לו, והוא גם לא הופך מסלול לא מאושר למקובל. שניהם החלטות נפרדות מזו שקיבלתם.