הגדרת המסוף הטורי האינטראקטיבי

‫Bare Metal Solution מספקת מסוף טורי אינטראקטיבי לגישה לשרתים של Bare Metal Solution. אתם יכולים להריץ פקודות ישירות ולהגיב להנחיות במסוף הטורי. אתם יכולים להשתמש במסוף הטורי כדי לבצע משימות של הגדרה ופתרון בעיות. שרתים של Bare Metal Solution משתמשים ביציאה הטורית הראשונה (יציאה 1) כמסוף הטורי.

המסוף הטורי האינטראקטיבי נתמך רק בשרתים הבאים:

  • שרתים לשימוש כללי עם TS54 (43.45.00.002) או גרסת קושחה גבוהה יותר.
  • שרתים מותאמים לצריכת זיכרון גבוהה עם גרסת קושחה 3.50.58 ומעלה.

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

יכול להיות שחיבורים אינטראקטיביים למסוף הטורי שנוצרו לפני יותר מ-30 יום ינותקו בכוח.

במאמר הזה מוסבר איך להפעיל ולהשבית גישה אינטראקטיבית למסוף הטורי בשרתים.

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

  1. מפעילים את Bare Metal Solution API. מידע נוסף זמין במאמר בנושא הגדרת פרויקט לשימוש ב-Bare Metal Solution API. Google Cloud

  2. נותנים למשתמש את התפקיד המתאים ב-IAM (הפלטפורמה לניהול זהויות והרשאות גישה). כדי לבצע את כל המשימות שמתוארות במאמר הזה, צריך להיות לכם אחד מהתפקידים הבאים:

    • roles/baremetalsolution.admin
    • roles/baremetalsolution.editor
  3. מוודאים שמותקנת הגרסה הנדרשת של הקושחה:

    • לשרתים לשימוש כללי, TS54 (43.45.00.002) ומעלה.
    • בשרתים מותאמים לצריכת זיכרון גבוהה (memory-optimized), הגרסה היא 3.50.58 ומעלה.

    איך לעשות את זה?

    1. בשרת Bare Metal Solution, מריצים את הפקודה הבאה:

      sudo dmidecode -s bios-version
      

      אם הפקודה מסתיימת בלי שגיאות, הפלט יציג את גרסת ה-BIOS הנדרשת או גרסה חדשה יותר. לדוגמה, במקרה של שרת לשימוש כללי, הפלט מציג גרסת BIOS של 43.45.00.002 ומעלה:

      Version: BIOS_PUR043.45.00.002
      
    2. אם גרסת ה-BIOS נמוכה מהקושחה הנדרשת, צריך לשדרג את הקושחה של השרתים. כדי לקבל עזרה בשדרוג, אפשר לפנות אל Customer Care.

  4. אם השרת שלכם ב-Bare Metal Solution הוקצה לפני יוני 2022, יכול להיות שחסרה בפרמטרים של אתחול הליבה ההגדרה הנדרשת למסוף סדרתי אינטראקטיבי. לעומת זאת, אם הוא הוקצה אחרי יוני 2022, יכול להיות שההגדרה הנדרשת כבר משולבת בתמונת מערכת ההפעלה. עם זאת, יכול להיות שתיקון של מערכת ההפעלה או אכיפה של מדיניות ספציפית לארגון שינו את פרמטרי האתחול של ליבת ברירת המחדל. בכל מקרה, מומלץ לוודא שהגדרת מערכת ההפעלה שנדרשת למסוף הטורי האינטראקטיבי זמינה.

    כדי לוודא שלמערכת ההפעלה יש את ההגדרה הנדרשת למסוף סדרתי אינטראקטיבי, מבצעים את השלבים הבאים:

    1. מאתרים את קובץ התצורה של GRand Unified Bootloader‏ (GRUB) בספרייה /etc/default.
    2. מוודאים שקובץ ההגדרות של GRUB מכיל את ההגדרות הבאות:

      GRUB_CMDLINE_LINUX="(append to the existing value) console=tty0 console=ttyS0,115200"
      GRUB_TERMINAL_OUTPUT="console serial"
      GRUB_TERMINAL="console serial"
      GRUB_SERIAL_COMMAND="serial --speed=115200 --unit=0 --word=8 --parity=no --stop=1"
      

      אם הקובץ מכיל את ההגדרות האלה, אפשר לדלג על ההוראות הבאות. אתם יכולים להשתמש בקובץ ההגדרות של GRUB כדי לגשת למסוף הטורי.

    3. אם ההגדרות האלה לא מופיעות בקובץ התצורה של GRUB, צריך להוסיף אותן באופן ידני.

    4. מריצים את הפקודה grub-mkconfig כדי לעבד את השינויים. מידע נוסף זמין במסמכי התיעוד של GRUB.

    5. מפעילים מחדש את השרת.

הפעלת גישה אינטראקטיבית למסוף הטורי

כדי להפעיל את המסוף הטורי האינטראקטיבי ולגשת אליו, פועלים לפי השלבים הבאים:

  1. מפעילים גישה לקונסולה הטורית האינטראקטיבית.
  2. יצירת מפתח SSH.
  3. רושמים את מפתח ה-SSH.
  4. מתחברים לשרת.

הפעלת הגישה למסוף הטורי האינטראקטיבי

לפני שמשתמשים במסוף הטורי האינטראקטיבי, צריך להפעיל את הגישה אליו בשרת.

gcloud

כדי להפעיל גישה למסוף הטורי האינטראקטיבי, מריצים את הפקודה gcloud bms instances enable-serial-console.

gcloud bms instances enable-serial-console SERVER_NAME --project=PROJECT_ID --region=REGION

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

  • SERVER_NAME: שם השרת.
  • PROJECT_ID: מזהה הפרויקט.
  • REGION: האזור של השרת.

API

כדי להפעיל גישה למסוף הטורי האינטראקטיבי, מזינים את מזהה הפרויקט, האזור ושם השרת, ומריצים את פקודת ה-curl הבאה.

curl -v \
-X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "X-Goog-User-Project: PROJECT_ID" \
-H "Content-Type: application/json" \
"https://baremetalsolution.googleapis.com/v2/projects/PROJECT_ID/locations/REGION/instances/SERVER_NAME:enableInteractiveSerialConsole"

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

  • PROJECT_ID: מזהה הפרויקט.
  • REGION: האזור של השרת.
  • SERVER_NAME: שם השרת.

יצירת זוג מפתחות SSH

יוצרים זוג מפתחות SSH כדי לאמת את הגישה למסוף הטורי. צריך לעשות את זה רק פעם אחת לכל פרויקט.

מריצים את הפקודה ssh-keygen ממכונת VM של מארח קפיצה או מטרמינל אחר שמחובר לאינטרנט כדי ליצור זוג מפתחות SSH חדש.

  ssh-keygen -b 4096 -f SSH_KEY_ID -N 'PASSPHRASE' -t rsa
  

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

  • SSH_KEY_ID: שם הבסיס של קובץ מפתח ה-SSH שמשמש ליצירת המפתחות הציבורי והפרטי.
  • PASSPHRASE: ביטוי הגישה שמשמש לגישה לשרתים דרך מסוף הטורי.

הפקודה ssh-keygen שומרת את המפתח הפרטי בקובץ בשם SSH_KEY_ID, ואת המפתח הציבורי בקובץ בשם SSH_KEY_ID.pub בספריית הבית.

רישום מפתחות ה-SSH

כדי לאמת את הגישה ל-Serial Console, צריך לרשום את מפתחות ה-SSH בפרויקט. צריך לעשות את זה רק פעם אחת לכל צמד מפתחות.

gcloud

כדי לרשום את מפתחות ה-SSH, מריצים את הפקודה gcloud bms ssh-keys add.

gcloud bms ssh-keys add SSH_KEY_ID --project=PROJECT_ID --key-file=SSH_KEY_ID.pub

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

  • SSH_KEY_ID: שם הבסיס של קובץ מפתח ה-SSH שמשמש ליצירת המפתחות הציבורי והפרטי.
  • PROJECT_ID: מזהה הפרויקט.
  • REGION: האזור של השרת.
  • SERVER_NAME: שם השרת.

API

כדי לרשום את מפתחות ה-SSH, מזינים את מזהה הפרויקט, מזהה מפתח ה-SSH ושם הקובץ של המפתח הציבורי, ומריצים את פקודת ה-curl הבאה.

curl -v \
-X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "X-Goog-User-Project: PROJECT_ID" \
-H "Content-Type: application/json" \
"https://baremetalsolution.googleapis.com/v2/projects/PROJECT_ID/locations/global/sshKeys?ssh_key_id=SSH_KEY_ID" \
--data "{\"public_key\": \"$(cat SSH_KEY_ID.pub)\"}"

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

  • PROJECT_ID: מזהה הפרויקט.
  • SSH_KEY_ID: שם הבסיס של קובץ מפתח ה-SSH שמשמש ליצירת המפתחות הציבורי והפרטי.

במאמר ניהול מפתחות SSH מוסבר איך לנהל את מפתחות ה-SSH בפרויקט.

התחברות לשרת

לפני שמתחברים למסוף הטורי האינטראקטיבי, אפשר לאמת את החיבור באמצעות מפתחות המארח של המסוף הטורי כדי לוודא שאתם מוגנים מפני התחזות או מתקפות מסוג'אדם באמצע'.

משתמשים ב-SSH כדי לגשת למסוף הטורי האינטראקטיבי. מריצים את הפקודה הבאה:

  ssh -i SSH_KEY_ID -p 9600 PROJECT_ID.REGION.SERVER_NAME.USERNAME.bms=true@\REGION\-ssh-serialport.googleapis.com
  

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

  • SSH_KEY_ID: שם הבסיס של קובץ מפתח ה-SSH שמשמש ליצירת המפתחות הציבורי והפרטי.
  • PROJECT_ID: מזהה הפרויקט.
  • REGION: האזור של השרת.
  • SERVER_NAME: שם השרת.
  • USERNAME: שם המשתמש שבו אתם משתמשים כדי לגשת לשרת Bare Metal Solution דרך המסוף הטורי.

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

התנתקות ממסוף סדרתי אינטראקטיבי

כדי להתנתק ממסוף סדרתי:

  1. מקישים על המקש ENTER או RETURN.
  2. מקלידים ~. (טילדה, ואז נקודה).

ניהול מפתחות SSH

מפתחות ה-SSH מאוחסנים על בסיס כל פרויקט. אפשר לנהל את מפתחות ה-SSH בדרכים הבאות:

הצגת רשימת מפתחות SSH

אתם יכולים להציג רשימה של מפתחות SSH ציבוריים שרשומים בפרויקט.

gcloud

כדי לראות רשימה של מפתחות SSH ציבוריים, מריצים את הפקודה gcloud bms ssh-keys list.

gcloud bms ssh-keys list --project=PROJECT_ID

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

  • PROJECT_ID: מזהה הפרויקט.

API

כדי להציג את מפתחות ה-SSH הציבוריים, מזינים את מזהה הפרויקט ומריצים את פקודת ה-curl הבאה.

curl -v \
-X GET \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "X-Goog-User-Project: PROJECT_ID" \
-H "Content-Type: application/json" \
"https://baremetalsolution.googleapis.com/v2/projects/PROJECT_ID/locations/global/sshKeys"

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

  • PROJECT_ID: מזהה הפרויקט.

מחיקה של מפתחות SSH

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

gcloud

כדי למחוק מפתח ציבורי SSH, מריצים את הפקודה gcloud bms ssh-keys remove.

gcloud bms ssh-keys remove SSH_KEY_ID --project=PROJECT_ID

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

  • SSH_KEY_ID: שם הבסיס של קובץ מפתח ה-SSH שמשמש ליצירת המפתחות הציבורי והפרטי.
  • PROJECT_ID: מזהה הפרויקט.

API

כדי למחוק מפתח SSH ציבורי, מזינים את מזהה הפרויקט ואת מזהה מפתח ה-SSH ומריצים את פקודת ה-curl הבאה.

curl -v \
-X DELETE \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "X-Goog-User-Project: PROJECT_ID" \
-H "Content-Type: application/json" \
"https://baremetalsolution.googleapis.com/v2/projects/PROJECT_ID/locations/global/sshKeys/SSH_KEY_ID"

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

  • PROJECT_ID: מזהה הפרויקט.
  • SSH_KEY_ID: שם הבסיס של קובץ מפתח ה-SSH שמשמש ליצירת המפתחות הציבורי והפרטי.

השבתת גישה אינטראקטיבית לקונסולה סדרתית

כדי להשבית את הגישה האינטראקטיבית למסוף הטורי בשרת, פועלים לפי ההוראות הבאות.

gcloud

כדי להשבית את המסוף הטורי האינטראקטיבי, מריצים את הפקודה gcloud bms instances disable-serial-console.

gcloud bms instances disable-serial-console SERVER_NAME --project=PROJECT_ID --region=REGION

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

  • SERVER_NAME: שם השרת.
  • PROJECT_ID: מזהה הפרויקט.
  • REGION: האזור של השרת.

API

כדי להשבית את המסוף הטורי האינטראקטיבי, מזינים את מזהה הפרויקט, האזור ושם השרת, ומריצים את פקודת ה-curl הבאה.

curl -v \
-X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "X-Goog-User-Project: PROJECT_ID" \
-H "Content-Type: application/json" \
"https://baremetalsolution.googleapis.com/v2/projects/PROJECT_ID/locations/REGION/instances/SERVER_NAME:disableInteractiveSerialConsole"

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

  • PROJECT_ID: מזהה הפרויקט.
  • REGION: האזור של השרת.
  • SERVER_NAME: שם השרת.