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

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

אפשרות חלופית להתחברות למכונות וירטואליות בתור משתמש Root היא להריץ פקודות דרך sudo. אנחנו ממליצים על האפשרות הזו במקום להפעיל התחברות בתור משתמש Root.

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

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

הפעלת כניסה לחשבון הבסיסי

כברירת מחדל, במכונות וירטואליות של Compute Engine, הפרמטר PermitRootLogin מוגדר לערך prohibit-password או no בקובץ התצורה של SSH‏ /etc/ssh/sshd_config. מפעילים את ההתחברות כמשתמש Root לפי ההוראות למכונה הווירטואלית:

מכונות וירטואליות עם OS Login

כדי להפעיל את ההתחברות ברמת הבסיס:

  1. יוצרים מפתח SSH. מעתיקים את המפתח הציבורי של SSH לשימוש מאוחר יותר.

  2. מתחברים ל-VM כרגיל.

  3. מריצים את הפקודה הבאה כדי לשנות את PermitRootLogin no ל-PermitRootLogin prohibit-password בקובץ /etc/ssh/sshd_config:

    sudo sed -i 's/PermitRootLogin no/PermitRootLogin prohibit-password/g' /etc/ssh/sshd_config
    
  4. יוצרים את הספרייה /root/.ssh באמצעות הפקודה הבאה:

    sudo mkdir /root/.ssh
    
  5. מגדירים הרשאות בספרייה .ssh על ידי הרצת הפקודה הבאה:

    sudo chmod 700 /root/.ssh
    
  6. כדי ליצור את הקובץ authorized_keys, מריצים את הפקודה הבאה:

    sudo touch /root/.ssh/authorized_keys
    
  7. מגדירים הרשאות בקובץ authorized_keys באמצעות הפקודה הבאה:

    sudo chmod 600 /root/.ssh/authorized_keys
    
  8. מדביקים את מפתח ה-SSH הציבורי בקובץ /root/.ssh/authorized_keys.

  9. מפעילים מחדש את שד sshd על ידי הפעלה מחדש של ה-VM, או על ידי הפעלת הפקודה restart עבור מערכת ההפעלה של ה-VM. מחכים שהמכונה הווירטואלית תופעל מחדש, ואז מתחברים בתור משתמש Root.

מכונות וירטואליות ללא OS Login

כדי להפעיל את הכניסה כמשתמש root:

  1. מתחברים ל-VM בדרך הרגילה.

  2. מריצים את הפקודה הבאה כדי לשנות את PermitRootLogin no ל-PermitRootLogin prohibit-password בקובץ /etc/ssh/sshd_config:

    sudo sed -i 's/PermitRootLogin no/PermitRootLogin prohibit-password/g' /etc/ssh/sshd_config
    
  3. מפעילים מחדש את שד sshd על ידי הפעלה מחדש של ה-VM, או על ידי הפעלת הפקודה restart עבור מערכת ההפעלה של ה-VM. מחכים שהמכונה הווירטואלית תופעל מחדש, ואז מתחברים בתור משתמש Root.

התחברות בתור משתמש Root

אחרי שמפעילים את הכניסה כמשתמש Root, מתחברים למכונה הווירטואלית כמשתמש Root. אם מתחברים למכונה וירטואלית שמופעל בה OS Login, צריך להשתמש בכלים של צד שלישי במקום ב-CLI של gcloud.

gcloud

הערה: אם ב-VM שאליו מתחברים מופעל OS Login, צריך להשתמש בכלים של צד שלישי כדי להתחבר בתור משתמש Root.

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

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

    הפעלת Cloud Shell

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

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

    gcloud compute ssh \
        --project=PROJECT_ID \
        --zone=ZONE \
        root@VM_NAME
    

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

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

כלי צד שלישי

מתחברים למכונות וירטואליות בתור משתמש Root לפי ההוראות למכונה הווירטואלית:

פתרון בעיות

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

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