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

במאמר הזה מוסבר איך להתחבר באמצעות SSH למכונות וירטואליות (VM) של Linux שיש להן כתובות IP חיצוניות. כדי להתחבר למכונות וירטואליות שאין להן כתובות IP חיצוניות, קראו את המאמר בחירת אפשרות חיבור למכונות וירטואליות פנימיות בלבד. כדי להתחבר למכונות וירטואליות של Linux באמצעות אישורי SSH, קראו את המאמר דרישה לאישורי SSH במכונות וירטואליות עם OS Login.

במאמר חיבורי SSH למכונות וירטואליות של Linux מוסבר איך חיבורי SSH פועלים ב-Compute Engine, כולל הגדרה ואחסון של מפתחות SSH.

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

  • מגדירים כלל של חומת אש, כמו הכלל default-allow-ssh, ברשת של הענן הווירטואלי הפרטי (VPC) של המכונה הווירטואלית, כדי לאפשר תעבורת נתונים נכנסת מסוג TCP ביציאה 22.
  • מגדירים גישת SSH במכונה הווירטואלית באמצעות OS Login (מומלץ) או מפתחות SSH שמבוססים על מטא-נתונים, ומקצים את התפקידים הנדרשים בניהול זהויות והרשאות גישה (IAM) לשיטה שבחרתם. אם אתם מתחברים באמצעות מסוף Google Cloud או Google Cloud CLI, מערכת Compute Engine מנהלת בשבילכם את מפתחות ה-SSH.
  • אם עדיין לא עשיתם את זה, תצטרכו להגדיר אימות. אימות הוא התהליך שבו מאמתים את הזהות שלכם כדי לקבל גישה לממשקי API ולשירותים של Google Cloud . כדי להריץ קוד או דוגמאות מסביבת פיתוח מקומית, אפשר לבצע אימות ל-Compute Engine באחת מהדרכים האלה:

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

    המסוף

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

    gcloud

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

      gcloud init

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

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

מערכות הפעלה נתמכות

מערכת Compute Engine תומכת בשיטות החיבור האלה לכל תמונות Linux הציבוריות. בתמונות של Fedora CoreOS, צריך להגדיר גישת SSH לפני שמשתמשים בשיטות האלה.

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

כדי להתחבר למכונה וירטואלית, מבצעים את השלבים באחת מהכרטיסיות הבאות.

המסוף

כדי להתחבר למכונה וירטואלית באמצעות SSH בדפדפן ממסוףGoogle Cloud :

  1. נכנסים לדף VM instances במסוף Google Cloud .

    כניסה לדף VM instances

  2. ברשימת המכונות הווירטואליות, לוחצים על SSH בשורה של המכונה שרוצים להתחבר אליה.

    הלחצן SSH ליד שם המכונה.

gcloud

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

  1. מפעילים את Cloud Shell במסוף Google Cloud .

    הפעלת Cloud Shell

    בחלק התחתון של מסוף Google Cloud יתחיל סשן של Cloud Shell ותופיע הודעה של שורת הפקודה. Cloud Shell היא סביבת מעטפת שבה ה-CLI של Google Cloud מותקן ומוגדרים ערכים לפרויקט הקיים. הסשן יופעל תוך כמה שניות.

  2. מריצים את הפקודה הבאה:

    gcloud compute ssh INSTANCE_NAME \
        --project=PROJECT_ID \
        --zone=ZONE

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

    • ‫INSTANCE_NAME: שם המכונה הווירטואלית.
    • ‫PROJECT_ID: מזהה הפרויקט שמכיל את המכונה הווירטואלית.
    • ‫ZONE: שם האזור שבו נמצאת המכונה הווירטואלית.

    אם הגדרתם מאפייני ברירת מחדל ל-Google Cloud CLI, אתם יכולים להשמיט את הדגלים --project ו---zone מהפקודה הזו. לדוגמה:

    gcloud compute ssh INSTANCE_NAME

לקוח OpenSSH

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

  1. אם עדיין לא הוספתם מפתח SSH, הוסיפו מפתח SSH למכונה הווירטואלית.
  2. נכנסים לדף VM instances במסוף Google Cloud ומחפשים את כתובת ה-IP החיצונית של המכונה הווירטואלית שאליה רוצים להתחבר.

    כניסה לדף VM instances

  3. פותחים טרמינל בתחנת העבודה.
  4. מריצים את הפקודה הבאה כדי להתחבר למכונה הווירטואלית:

    ssh -i PATH_TO_PRIVATE_KEY USERNAME@EXTERNAL_IP

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

    • ‫PATH_TO_PRIVATE_KEY: הנתיב לקובץ של מפתח ה-SSH הפרטי שתואם למפתח הציבורי שהוספתם למכונה הווירטואלית, כמו ~/.ssh/my-ssh-key, או ~/.ssh/google_compute_engine אם ה-CLI של Google Cloud יצר את המפתח.
    • ‫USERNAME: שם המשתמש שלכם ב- . אם אתם מנהלים את מפתחות ה-SSH במטא-נתונים, שם המשתמש הוא מה שציינתם כשיצרתם את מפתח ה-SSH. אם אתם משתמשים בחשבונות של OS Login, שם המשתמש מוגדר בפרופיל שלכם ב-Google, למשל cloudysanfrancisco_example_com או cloudysanfrancisco.
    • ‫EXTERNAL_IP: כתובת ה-IP החיצונית של המכונה הווירטואלית.

אפליקציית PuTTY

כדי להתחבר למכונה וירטואלית באמצעות SSH מאפליקציית PuTTY ב-Windows:

  1. אם עדיין לא הוספתם מפתח SSH, הוסיפו מפתח SSH למכונה הווירטואלית.
  2. אם אפליקציית PuTTY לא מותקנת בתחנת העבודה, הורידו את קובצי החבילה של PuTTY.
  3. נכנסים לדף VM instances במסוף Google Cloud ומחפשים את כתובת ה-IP החיצונית של המכונה הווירטואלית שאליה רוצים להתחבר.

    כניסה לדף VM instances

  4. פותחים את אפליקציית PuTTY. נפתח חלון להגדרת החיבור.
  5. בשדה Host Name (or IP address), מזינים את שם המשתמש שמשויך למפתח ה-SSH ואת כתובת ה-IP החיצונית של המכונה הווירטואלית שאליה רוצים להתחבר. צריך להשתמש בפורמט הבא:

    USERNAME@EXTERNAL_IP

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

    • ‫USERNAME: שם המשתמש שלכם ב- . אם אתם מנהלים את מפתחות ה-SSH במטא-נתונים, שם המשתמש הוא מה שציינתם כשיצרתם את מפתח ה-SSH. אם אתם משתמשים בחשבונות של OS Login, שם המשתמש מוגדר בפרופיל שלכם ב-Google, למשל cloudysanfrancisco_example_com או cloudysanfrancisco.
    • ‫EXTERNAL_IP: כתובת ה-IP החיצונית של המכונה הווירטואלית.
  6. בתפריט Category, עוברים אל Connection > SSH > Auth > Credentials (או אל Connection > SSH > Auth בגרסאות PuTTY שקודמות ל-0.78).
  7. בשדה Private key file for authentication, לוחצים על Browse ובוחרים את קובץ מפתח ה-SSH הפרטי (.ppk) שתואם למפתח הציבורי שהוספתם למכונה הווירטואלית.
  8. לוחצים על Open כדי להתחבר למכונה הווירטואלית.

פתרון בעיות

במאמר פתרון בעיות ב-SSH מוסבר איך לאבחן ולפתור בעיות בחיבורי SSH שנכשלו.

המאמרים הבאים