התחברות למכונות וירטואליות של Windows באמצעות SSH

במסמך הזה מתואר איך להתחבר למכונות וירטואליות (VM) של Windows באמצעות SSH. לדרכים אחרות להתחבר למכונות וירטואליות של Windows, אפשר לעיין במאמרים התחברות למכונות וירטואליות של Windows באמצעות RDP והתחברות למכונות וירטואליות של Windows באמצעות PowerShell. במאמר מידע על חיבורי SSH מוסבר איך SSH פועל ב-Compute Engine.

לפני שמתחילים

  • אם עדיין לא עשיתם את זה, תצטרכו להגדיר אימות. אימות הוא תהליך שבו מאמתים את הזהות שלכם כדי לקבל גישה לממשקי API ולשירותים של Google Cloud . כדי להריץ קוד או דוגמאות מסביבת פיתוח מקומית, אפשר לבצע אימות ל-Compute Engine באחת מהדרכים הבאות:

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

    המסוף

    כשמשתמשים במסוף Google Cloud כדי לגשת לשירותים Google Cloud ולממשקי ה-API, לא צריך להגדיר אימות.

    gcloud

    1. התקינו את ה-CLI של Google Cloud. אחר כך, מאתחלים את ה-CLI של Google Cloud באמצעות הפקודה הבאה:

      gcloud init

      אם אתם משתמשים בספק זהויות חיצוני (IdP), קודם אתם צריכים להיכנס ל-CLI של gcloud באמצעות המאגר המאוחד לניהול זהויות.

  • הגדרת אזור ותחום כברירת מחדל

תמונות נתמכות

‫SSH ל-Windows נתמך בתמונות של Windows Server שפועלות בגרסה 20220527.00 ומעלה של סוכן האורח (GCEGuestAgent) ובגרסה 8.6 ומעלה של OpenSSH.

הפעלת SSH במכונות וירטואליות של Windows

כדי לאפשר חיבורי SSH למכונות וירטואליות של Windows, צריך להתקין את החבילה google-compute-engine-ssh ולהגדיר את המפתח enable-windows-ssh לערך TRUE במטא-נתונים של הפרויקט או של המכונה. הפעלת SSH ל-Windows במטא-נתונים של הפרויקט מאפשרת להשתמש ב-SSH בכל מכונות ה-VM של Windows בפרויקט. הפעלת SSH ל-Windows במטא-נתונים של המכונה מפעילה את SSH למכונה וירטואלית אחת, ומבטלת את הערך שמוגדר במטא-נתונים של הפרויקט.

הפעלת SSH ל-Windows בזמן יצירת מכונה וירטואלית

מפעילים SSH ל-Windows בזמן יצירת מכונה וירטואלית באמצעות מסוף Google Cloud או Google Cloud CLI.

המסוף

יוצרים מכונה וירטואלית מקובץ אימג' ציבורי שמתקין את החבילה google-compute-engine-ssh ומפעיל SSH בהפעלה:

  1. מציינים את המאפיינים הבאים של דיסק האתחול:

    • מערכת הפעלה: Windows Server
    • גרסה: כל גרסה
  2. בקטע אפשרויות מתקדמות, מרחיבים את הקטע ניהול.

  3. בקטע מטא נתונים, לוחצים על הוספת פריט. מוסיפים סקריפט לטעינה בזמן ההפעלה שמתקין את חבילת google-compute-engine-ssh על ידי הזנת צמד מפתח/ערך המטא-נתונים הבא:

    • מקש: sysprep-specialize-script-cmd
    • ערך: googet -noconfirm=true install google-compute-engine-ssh
  4. בקטע מטא נתונים, לוחצים על הוספת פריט. מגדירים את enable-windows-ssh לערך TRUE על ידי הזנת צמד המפתח/ערך הבא של המטא-נתונים:

    • מקש: enable-windows-ssh
    • ערך: TRUE
  5. לוחצים על Create כדי ליצור את המכונה הווירטואלית ולהפעיל אותה.

gcloud

מריצים את הפקודה gcloud compute instances create הבאה כדי ליצור מכונה וירטואלית של Windows Server שמתקינה את החבילה google-compute-engine-ssh ומפעילה את SSH בזמן ההפעלה:

gcloud compute instances create VM_NAME \
    --image-family=IMAGE_FAMILY \
    --image-project=windows-cloud \
    --metadata sysprep-specialize-script-cmd="googet -noconfirm=true install google-compute-engine-ssh",enable-windows-ssh=TRUE

מחליפים את מה שכתוב בשדות הבאים:

  • ‫VM_NAME: השם של המכונה הווירטואלית החדשה.
  • ‫IMAGE_FAMILY: Windows Server image family. הפעולה הזו יוצרת את המכונה הווירטואלית מקובץ האימג' העדכני ביותר של Windows Server שלא הוצא משימוש.

הפעלת SSH ל-Windows במכונת VM פועלת

כדי להפעיל SSH במכונת Windows VM פועלת, צריך לבצע אחת מהפעולות הבאות, בהתאם לאפשרות להשתמש ב-RDP כדי לגשת למכונה הווירטואלית או אם עומס העבודה יכול לסבול הפעלה מחדש:

  • נדרשת גישת RDP: מתחברים ל-VM באמצעות RDP ומתקינים את חבילת ה-SSH
  • נדרשת הפעלה מחדש: שימוש בסקריפט לטעינה בזמן ההפעלה כדי להתקין את חבילת ה-SSH

RDP

אם יש לכם גישה למכונה הווירטואלית באמצעות RDP, אתם יכולים להפעיל SSH באופן הבא:

  1. מתחברים למכונה הווירטואלית באמצעות RDP.

  2. פותחים סשן של שורת פקודה כאדמין:

    1. פותחים את התפריט התחלה.

    2. עוברים אל שורת הפקודה.

    3. לוחצים לחיצה ימנית על Command Prompt (שורת פקודה) ובוחרים באפשרות Run as administrator (הפעלה כאדמין).

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

  3. מורידים ומתקינים את החבילה google-compute-engine-ssh באמצעות הפקודה הבאה:

    googet -noconfirm=true install google-compute-engine-windows && googet -noconfirm=true install google-compute-engine-ssh
    
  4. סוגרים את סשן ה-RDP.

  5. מפעילים את Windows SSH במטא-נתונים על ידי הגדרת המפתח enable-windows-ssh לערך TRUE. מידע נוסף על הגדרת מטא-נתונים זמין במאמר הגדרת מטא-נתונים מותאמים אישית.

סקריפט לטעינה בזמן ההפעלה

אם אתם לא מצליחים לגשת למכונה הווירטואלית באמצעות RDP, אתם יכולים להפעיל SSH באופן הבא:

  1. עצירת ה-VM.

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

    • מטא-נתונים של התקנת חבילת SSH:

      • מקרא: windows-startup-script-cmd
      • ערך: googet -noconfirm=true update && googet -noconfirm=true install google-compute-engine-ssh
    • מטא-נתונים של הפעלת SSH:

      • מפתח: enable-windows-ssh
      • ערך: TRUE
  3. מפעילים את ה-VM. יכול להיות שיעברו כמה דקות עד שהמכונה הווירטואלית תופעל מחדש.

התחברות למכונות וירטואליות באמצעות SSH

מתחברים למכונות הווירטואליות באמצעות הפקודה gcloud compute ssh:

gcloud compute ssh VM_NAME

מחליפים את VM_NAME בשם של מכונת Windows הווירטואלית שאליה רוצים להתחבר.

התחברות למכונות וירטואליות שמשתמשות ב-AD

אם המכונה הווירטואלית שאליה אתם מתחברים משתמשת ב-Active Directory‏ (AD), מתחברים באמצעות הפקודה הבאה:

gcloud compute ssh DOMAIN\USERNAME@VM_NAME

מחליפים את מה שכתוב בשדות הבאים:

  • ‫DOMAIN: הדומיין שלכם ב-AD. לדוגמה, הדומיין של ה-AD של ad.example.com הוא example.
  • ‫USERNAME: שם המשתמש שלכם ב-AD. לדוגמה, cloudysanfrancisco.
  • ‫VM_NAME: השם של מכונת Windows הווירטואלית שאליה רוצים להתחבר.

מה השלב הבא?