התחברות למכונות וירטואליות של Linux באמצעות שרת proxy לאימות זהויות (IAP)

במסמך הזה מתואר איך להתחבר למופע של מכונה וירטואלית (VM) באמצעות כתובת ה-IP הפנימית שלו, באמצעות העברת TCP של שרת Proxy לאימות זהויות (IAP).

התכונה 'העברת TCP ב-IAP' מאפשרת ליצור תעלה מוצפנת שדרכה אפשר להעביר חיבורי SSH למכונות וירטואליות. כשמתחברים למכונה וירטואלית שמשתמשת ב-IAP, ‏ IAP עוטף את חיבור ה-SSH ב-HTTPS לפני שהוא מעביר את החיבור למכונה הווירטואלית. לאחר מכן, IAP בודק אם יש לכם את הרשאות ה-IAM הנדרשות, ואם כן, הוא מעניק לכם גישה למכונה הווירטואלית.

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

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

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

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

    המסוף

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

    gcloud

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

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

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

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

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

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

המסוף

כדי להשתמש ב-SSH בדפדפן כדי ליצור מנהור לחיבורי SSH דרך כתובת IP פנימית של מכונה וירטואלית, מבצעים את הפעולות הבאות:

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

    כניסה לדף VM instances

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

gcloud

מנהרים חיבורי SSH דרך כתובת IP פנימית של מכונה וירטואלית באמצעות הפקודה gcloud compute ssh עם הדגל --tunnel-through-iap:

    במסוף Cloud de Confiance , מפעילים את Cloud Shell.

    הפעלת Cloud Shell

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

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

    gcloud compute ssh VM-NAME \
        --tunnel-through-iap
  2. מחליפים את VM_NAME בשם המכונה הווירטואלית שאליה רוצים להתחבר.

IAP Desktop

כדי להתחבר למכונה וירטואלית באמצעות IAP Desktop:

  1. מתקינים את IAP Desktop בתחנת העבודה, אם עדיין לא עשיתם זאת.

  2. פותחים את IAP Desktop. נפתח החלון הוספת פרויקטים.

  3. כשמופיעה בקשה, נכנסים באמצעות חשבון Google שיש לו גישה לפרויקט עם המכונות הווירטואליות שרוצים להתחבר אליהן.

  4. בחלון Add projects (הוספת פרויקטים), מזינים את מזהה הפרויקט או את שם הפרויקט שמכיל את המכונות הווירטואליות שאליהן רוצים להתחבר.

  5. בחלון Project Explorer, לוחצים לחיצה ימנית על שם המכונה הווירטואלית שוב ובוחרים באפשרות Connect כדי להתחבר למכונה הווירטואלית.

אפליקציית PuTTY

כדי ליצור מנהור לחיבורי SSH דרך כתובת IP פנימית של מכונה וירטואלית באמצעות PuTTY, מבצעים את הפעולות הבאות:

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

    כניסה לדף VM Instances

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

    USERNAME@VM_NAME

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

    • USERNAME:
    • NAME: שם ה-VM.
  6. בתפריט Category, עוברים אל Connection > SSH > Auth.
  7. בשדה Private key file for authentication (קובץ מפתח פרטי לאימות), בוחרים את קובץ המפתח הפרטי של SSH שתואם למפתח הציבורי שהוספתם למכונה הווירטואלית.
  8. בתפריט Category (קטגוריה), עוברים אל Connection > Proxy (חיבור > שרת Proxy).
  9. בקטע Proxy type, בוחרים באפשרות Local.
  10. בשדה Telnet command, or local proxy command (פקודת Telnet או פקודת פרוקסי מקומי), מזינים את הפקודה הבאה:

    gcloud.cmd compute start-iap-tunnel VM_NAME PORT_NUMBER --listen-on-stdin --project=PROJECT_ID --zone=ZONE

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

    • VM_NAME: השם של המכונה הווירטואלית שאליה רוצים להתחבר.
    • PORT_NUMBER: היציאה שבה פועל דימון ה-sshd. ערך ברירת המחדל PORT_NUMBER הוא 22.
    • PROJECT_ID: הפרויקט שמארח את המכונה הווירטואלית שאליה רוצים להתחבר.
    • ZONE: האזור שבו נמצאת המכונה הווירטואלית.
  11. לוחצים על פתיחה כדי להתחבר ל-VM.

פתרון בעיות

כדי למצוא שיטות לאבחון ולפתרון של חיבורי SSH שנכשלו, ראו פתרון בעיות ב-SSH.

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