במאמר הזה מוסבר איך להתחבר למופעים של מכונות וירטואליות (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
כדי להפעיל כניסה כמשתמש root:
יוצרים מפתח SSH. מעתיקים את המפתח הציבורי של SSH לשימוש בהמשך.
מתחברים ל-VM כרגיל.
מריצים את הפקודה הבאה כדי לשנות את
PermitRootLogin noל-PermitRootLogin prohibit-passwordבקובץ/etc/ssh/sshd_config:sudo sed -i 's/PermitRootLogin no/PermitRootLogin prohibit-password/g' /etc/ssh/sshd_config
יוצרים את הספרייה
/root/.sshבאמצעות הפקודה הבאה:sudo mkdir /root/.ssh
מגדירים הרשאות בספרייה
.sshעל ידי הרצת הפקודה הבאה:sudo chmod 700 /root/.ssh
כדי ליצור את הקובץ
authorized_keys, מריצים את הפקודה הבאה:sudo touch /root/.ssh/authorized_keys
מגדירים הרשאות בקובץ
authorized_keysעל ידי הפעלת הפקודה הבאה:sudo chmod 600 /root/.ssh/authorized_keys
מדביקים את מפתח ה-SSH הציבורי בקובץ
/root/.ssh/authorized_keys.מפעילים מחדש את דמון
sshdעל ידי הפעלה מחדש של ה-VM או הפעלת הפקודה restart עבור מערכת ההפעלה של ה-VM. מחכים שהמכונה הווירטואלית תופעל מחדש, ואז מתחברים בתור משתמש Root.
מכונות וירטואליות שאין בהן OS Login
כדי להפעיל כניסה כמשתמש root:
מתחברים ל-VM כרגיל.
מריצים את הפקודה הבאה כדי לשנות את
PermitRootLogin noל-PermitRootLogin prohibit-passwordבקובץ/etc/ssh/sshd_config:sudo sed -i 's/PermitRootLogin no/PermitRootLogin prohibit-password/g' /etc/ssh/sshd_config
מפעילים מחדש את דמון
sshdעל ידי הפעלה מחדש של ה-VM או הפעלת הפקודה restart עבור מערכת ההפעלה של ה-VM. מחכים שהמכונה הווירטואלית תופעל מחדש, ואז מתחברים בתור משתמש Root.
התחברות בתור משתמש root
אחרי שמפעילים את הכניסה כמשתמש Root, מתחברים למכונה הווירטואלית כמשתמש Root. אם מתחברים למכונה וירטואלית שמופעל בה OS Login, צריך להשתמש בכלים של צד שלישי במקום ב-CLI של gcloud.
gcloud
הערה: אם ב-VM שאליו אתם מתחברים מופעל OS Login, אתם צריכים להשתמש בכלים של צד שלישי כדי להתחבר בתור משתמש root.
מתחברים למכונות וירטואליות בתור משתמש Root באמצעות הפקודה gcloud compute ssh עם root@ שצוין לפני שם המכונה הווירטואלית:
-
במסוף Google Cloud , מפעילים את Cloud Shell.
בחלק התחתון של Google Cloud המסוף יתחיל סשן של Cloud Shell ותופיע הודעה של שורת הפקודה. Cloud Shell היא סביבת מעטפת שבה ה-CLI של Google Cloud מותקן ומוגדרים ערכים לפרויקט הקיים. הסשן יופעל תוך כמה שניות.
מתחברים למכונה הווירטואלית באמצעות הפקודה הבאה:
gcloud compute ssh \ --project=PROJECT_ID \ --zone=ZONE \ root@VM_NAMEמחליפים את מה שכתוב בשדות הבאים:
-
PROJECT_ID: מזהה הפרויקט שמכיל את המכונה הווירטואלית -
ZONE: שם האזור שבו נמצאת המכונה הווירטואלית -
VM_NAME: השם של ה-VM
-
כלי צד שלישי
מתחברים למכונות וירטואליות בתור משתמש Root לפי ההוראות למכונה הווירטואלית:
מכונות וירטואליות עם OS Login
מתחברים באמצעות כלים של צד שלישי ומציינים את הפרטים הבאים:
- מפתח פרטי: המפתח הפרטי שתואם למפתח הציבורי שהוספתם לקובץ
authorized_keys - שם משתמש: שם המשתמש צריך להיות
root
- מפתח פרטי: המפתח הפרטי שתואם למפתח הציבורי שהוספתם לקובץ
Non-OS Login VMs
יוצרים מפתח SSH עבור משתמש Root. שם המשתמש של המפתח חייב להיות
root.מתחברים באמצעות כלים של צד שלישי ומציינים את הפרטים הבאים:
מפתח פרטי: המפתח הפרטי של משתמש Root
שם משתמש: שם המשתמש צריך להיות
root
פתרון בעיות
כדי למצוא שיטות לאבחון ולפתרון של חיבורי SSH שנכשלו, ראו פתרון בעיות ב-SSH.
המאמרים הבאים
- איך מנהלים את הגישה למכונות וירטואליות
- איך מעבירים קבצים למכונות וירטואליות
- הסבר על חיבורי SSH למכונות וירטואליות של Linux ב-Compute Engine.