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

המיתוס: חיבור VPN הוא ההגדרה

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

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

בדקו את ההנחה מוקדם. העריכו $MachineName במחברת חדשה והשוו את התשובה למארח שאתם מצפים לו. אם היא מחזירה את שם המחשב הנייד, התא רץ מקומית, כמה שה-VPN ייראה תקין.

הפרידו את הממשק הקדמי מהמעריך

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

לאחר חיבור גרעין מרוחק, מיקום קובץ המחברת וספריית העבודה של הגרעין הם שני דברים שונים. Directory[] מדווח על ספריית המעריך, וזה הנתיב שחשוב עבור Import, Export ושמות קבצים יחסיים. מערך נתונים שליד המחברת במחשב הנייד אינו גלוי לגרעין שרץ במכונה אחרת.

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

הפעילו את הגרעין דרך ערוץ מאושר

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

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

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

בדקו תחילה זכאות, נתונים וגודל פלט

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

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

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

אבחנו את השלבים לפי הסדר

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

nc -vz research.example.edu 22
ssh -v [email protected] 'hostname; command -v wolframscript'
ssh [email protected] 'wolframscript -code "$MachineName"'

בדיקת TCP שנכשלה מצביעה על ניתוב, DNS או יעדים מורשים של ה-VPN. בדיקת TCP מוצלחת עם התחברות SSH שנכשלה מצביעה על אימות או על מדיניות מפתח המארח. התחברות שעובדת אך אינה מוצאת קובץ ניתן להרצה מצביעה על התקנת הגרעין או על הנתיב שניתן לממשק הקדמי. גרעין שמתחיל אך אינו מתחבר לעולם מצביעה על ארגומנטי ההפעלה או על חומת האש המקומית.

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

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

מאמרים קשורים