הגדרת המסוף הטורי האינטראקטיבי
Bare Metal Solution מספקת מסוף טורי אינטראקטיבי לגישה לשרתים של Bare Metal Solution. אתם יכולים להריץ פקודות ישירות ולהגיב להנחיות במסוף הטורי. אתם יכולים להשתמש במסוף הטורי כדי לבצע משימות של הגדרה ופתרון בעיות. שרתים של Bare Metal Solution משתמשים ביציאה הטורית הראשונה (יציאה 1) כמסוף הטורי.
המסוף הטורי האינטראקטיבי נתמך רק בשרתים הבאים:
- שרתים לשימוש כללי עם
TS54(43.45.00.002) או גרסת קושחה גבוהה יותר. - שרתים מותאמים לצריכת זיכרון גבוהה עם גרסת קושחה
3.50.58ומעלה.
לפני שמתחילים, חשוב לשדרג את השרת לקושחה העדכנית ביותר. לפני שמתחילים
יכול להיות שחיבורים אינטראקטיביים למסוף הטורי שנוצרו לפני יותר מ-30 יום ינותקו בכוח.
במאמר הזה מוסבר איך להפעיל ולהשבית גישה אינטראקטיבית למסוף הטורי בשרתים.
לפני שמתחילים
מפעילים את Bare Metal Solution API. מידע נוסף זמין במאמר בנושא הגדרת פרויקט לשימוש ב-Bare Metal Solution API. Google Cloud
נותנים למשתמש את התפקיד המתאים ב-IAM (הפלטפורמה לניהול זהויות והרשאות גישה). כדי לבצע את כל המשימות שמתוארות במאמר הזה, צריך להיות לכם אחד מהתפקידים הבאים:
roles/baremetalsolution.adminroles/baremetalsolution.editor
מוודאים שמותקנת הגרסה הנדרשת של הקושחה:
- לשרתים לשימוש כללי,
TS54(43.45.00.002) ומעלה. - בשרתים מותאמים לצריכת זיכרון גבוהה (memory-optimized), הגרסה היא
3.50.58ומעלה.
איך לעשות את זה?
בשרת Bare Metal Solution, מריצים את הפקודה הבאה:
sudo dmidecode -s bios-version
אם הפקודה מסתיימת בלי שגיאות, הפלט יציג את גרסת ה-BIOS הנדרשת או גרסה חדשה יותר. לדוגמה, במקרה של שרת לשימוש כללי, הפלט מציג גרסת BIOS של
43.45.00.002ומעלה:Version: BIOS_PUR043.45.00.002
אם גרסת ה-BIOS נמוכה מהקושחה הנדרשת, צריך לשדרג את הקושחה של השרתים. כדי לקבל עזרה בשדרוג, אפשר לפנות אל Customer Care.
- לשרתים לשימוש כללי,
אם השרת שלכם ב-Bare Metal Solution הוקצה לפני יוני 2022, יכול להיות שחסרה בפרמטרים של אתחול הליבה ההגדרה הנדרשת למסוף סדרתי אינטראקטיבי. לעומת זאת, אם הוא הוקצה אחרי יוני 2022, יכול להיות שההגדרה הנדרשת כבר משולבת בתמונת מערכת ההפעלה. עם זאת, יכול להיות שתיקון של מערכת ההפעלה או אכיפה של מדיניות ספציפית לארגון שינו את פרמטרי האתחול של ליבת ברירת המחדל. בכל מקרה, מומלץ לוודא שהגדרת מערכת ההפעלה שנדרשת למסוף הטורי האינטראקטיבי זמינה.
כדי לוודא שלמערכת ההפעלה יש את ההגדרה הנדרשת למסוף סדרתי אינטראקטיבי, מבצעים את השלבים הבאים:
- מאתרים את קובץ התצורה של GRand Unified Bootloader (GRUB) בספרייה
/etc/default. מוודאים שקובץ ההגדרות של 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 כדי לגשת למסוף הטורי.
אם ההגדרות האלה לא מופיעות בקובץ התצורה של GRUB, צריך להוסיף אותן באופן ידני.
מריצים את הפקודה
grub-mkconfigכדי לעבד את השינויים. מידע נוסף זמין במסמכי התיעוד של GRUB.מפעילים מחדש את השרת.
- מאתרים את קובץ התצורה של GRand Unified Bootloader (GRUB) בספרייה
הפעלת גישה אינטראקטיבית למסוף הטורי
כדי להפעיל את המסוף הטורי האינטראקטיבי ולגשת אליו, פועלים לפי השלבים הבאים:
הפעלת הגישה למסוף הטורי האינטראקטיבי
לפני שמשתמשים במסוף הטורי האינטראקטיבי, צריך להפעיל את הגישה אליו בשרת.
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 כדי לקבל גישה למסוף הטורי האינטראקטיבי.
התנתקות ממסוף סדרתי אינטראקטיבי
כדי להתנתק ממסוף סדרתי:
- מקישים על המקש
ENTERאוRETURN. - מקלידים
~.(טילדה, ואז נקודה).
ניהול מפתחות 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: שם השרת.