במאמר הזה מתואר איך ליצור זוג מפתחות SSH למכונות וירטואליות (VM) של Compute Engine כדי להתחבר אליהן בצורה מאובטחת.
לפני שמתחילים
-
אם עדיין לא עשיתם את זה, תצטרכו להגדיר אימות.
אימות הוא תהליך שבו מאמתים את הזהות שלכם כדי לקבל גישה לממשקי API ולשירותים של Cloud de Confiance by S3NS . כדי להריץ קוד או דוגמאות מסביבת פיתוח מקומית, אפשר לבצע אימות ל-Compute Engine באחת מהדרכים הבאות:
צריך לבחור את הכרטיסייה הרלוונטית לאופן שבו תכננתם להשתמש בדוגמאות בדף הזה:
המסוף
כשמשתמשים במסוף Cloud de Confiance כדי לגשת לשירותים ולממשקי ה-API, לא צריך להגדיר אימות. Cloud de Confiance by S3NS
gcloud
-
התקינו את ה-CLI של Google Cloud ואז היכנסו ל-CLI של gcloud באמצעות הזהות המאוחדת שלכם. אחרי שנכנסתם לחשבון, אתחלו את ה-CLI של Google Cloud באמצעות הפקודה הבאה:
gcloud init
-
- הגדרת אזור ותחום כברירת מחדל
REST
כדי להשתמש בסביבת פיתוח מקומית בדוגמאות של API בארכיטקטורת REST שבדף הזה, צריך להשתמש בפרטי הכניסה שאתם נותנים ל-CLI של gcloud.
התקינו את ה-CLI של Google Cloud ואז היכנסו ל-CLI של gcloud באמצעות הזהות המאוחדת שלכם.
מידע נוסף מופיע במאמר אימות לשימוש ב-REST במסמכי האימות של Cloud de Confiance .
יצירת זוג מפתחות SSH
אם מתחברים למכונות וירטואליות באמצעות מסוף Cloud de Confiance או Google Cloud CLI, מערכת Compute Engine יוצרת מפתחות SSH בשבילכם. מידע נוסף על האופן שבו Compute Engine מגדיר ומאחסן מפתחות זמין במאמר מידע על חיבורי SSH.
אם אתם מתחברים למכונות וירטואליות באמצעות כלים של צד שלישי או OpenSSH, אתם צריכים להוסיף מפתח למכונה הווירטואלית לפני שתוכלו להתחבר. אם אין לכם מפתח SSH, אתם צריכים ליצור אותו. המכונות הווירטואליות מקבלות את פורמטי המפתחות שמפורטים בקובץ sshd_config.
Linux ו-macOS
בתחנות עבודה של Linux ו-macOS, משתמשים בכלי ssh-keygen כדי ליצור זוג מפתחות SSH חדש. בדוגמה הבאה נוצר זוג מפתחות RSA.
פותחים טרמינל ומשתמשים בפקודה ssh-keygen עם הדגל -C כדי ליצור צמד מפתחות SSH חדש.
ssh-keygen -t rsa -f ~/.ssh/KEY_FILENAME -C USERNAME
מחליפים את מה שכתוב בשדות הבאים:
KEY_FILENAME: השם של קובץ מפתח ה-SSH.לדוגמה, שם הקובץ
my-ssh-keyיוצר קובץ מפתח פרטי בשםmy-ssh-keyוקובץ מפתח ציבורי בשםmy-ssh-key.pub.
USERNAME: שם המשתמש שלכם במכונה הווירטואלית. לדוגמה,cloudysanfranciscoאוcloudysanfrancisco_gmail_com.במכונות וירטואליות של Linux, אי אפשר להשתמש ב-
USERNAMEבתורroot, אלא אם מגדירים את המכונה הווירטואלית כך שתאפשר התחברות של משתמש ה-Root. מידע נוסף זמין במאמר איך מתחברים למכונות וירטואליות כמשתמש Root.במכונות וירטואליות של Windows שמשתמשות ב-Active Directory (AD), צריך להוסיף לפני שם המשתמש את הדומיין של AD, בפורמט
DOMAIN\. לדוגמה, למשתמשcloudysanfranciscoב-ADad.example.comישUSERNAMEעם הערךexample\cloudysanfrancisco.
ssh-keygen שומר את קובץ המפתח הפרטי ב-~/.ssh/KEY_FILENAME ואת קובץ המפתח הציבורי ב-~/.ssh/KEY_FILENAME.pub.
מפתח ציבורי של משתמש cloudysanfrancisco נראה בערך כך:
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDAu5kKQCPF... cloudysanfrancisco
Windows 10 ואילך
בתחנות עבודה עם Windows גרסה 10 ואילך, משתמשים בכלי ssh-keygen כדי ליצור זוג חדש של מפתחות SSH. בדוגמה הבאה נוצר זוג מפתחות RSA.
פותחים את שורת הפקודה ומשתמשים בפקודה ssh-keygen עם הדגל -C כדי ליצור צמד מפתחות SSH חדש.
ssh-keygen -t rsa -f C:\Users\WINDOWS_USER\.ssh\KEY_FILENAME -C USERNAME
מחליפים את מה שכתוב בשדות הבאים:
WINDOWS_USER: שם המשתמש שלכם במכונת Windows.
KEY_FILENAME: השם של קובץ מפתח ה-SSH.לדוגמה, שם הקובץ
my-ssh-keyיוצר קובץ מפתח פרטי בשםmy-ssh-keyוקובץ מפתח ציבורי בשםmy-ssh-key.pub.
USERNAME: שם המשתמש שלכם במכונה הווירטואלית. לדוגמה,cloudysanfranciscoאוcloudysanfrancisco_gmail_com.במכונות וירטואליות של Linux, אי אפשר להשתמש ב-
USERNAMEבתורroot, אלא אם מגדירים את המכונה הווירטואלית כך שתאפשר התחברות של משתמש ה-Root. מידע נוסף זמין במאמר איך מתחברים למכונות וירטואליות כמשתמש Root.במכונות וירטואליות של Windows שמשתמשות ב-Active Directory (AD), צריך להוסיף לפני שם המשתמש את הדומיין של AD, בפורמט
DOMAIN\. לדוגמה, למשתמשcloudysanfranciscoב-ADad.example.comישUSERNAMEעם הערךexample\cloudysanfrancisco.
ssh-keygen שומר את קובץ המפתח הפרטי ב-C:\Users\WINDOWS_USER\.ssh\KEY_FILENAME ואת קובץ המפתח הציבורי ב-C:\Users\WINDOWS_USER\.ssh\KEY_FILENAME.pub.
מפתח ציבורי של משתמש cloudysanfrancisco נראה בערך כך:
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDAu5kKQCPF... cloudysanfrancisco
Windows 8 או גרסה מוקדמת יותר
בתחנות עבודה עם Windows גרסה 8 או גרסאות קודמות, משתמשים בכלי PuTTYgen כדי ליצור זוג חדש של מפתחות SSH. בדוגמה הבאה נוצר זוג מפתחות RSA.
מורידים את
puttygen.exeאם עדיין לא עשיתם את זה.פותחים את PuTTYgen.
בקטע פרמטרים מציינים את הפרטים הבאים:
- סוג המפתח ליצירה:
RSA - מספר הביטים במפתח שנוצר:
2048או יותר
- סוג המפתח ליצירה:
לוחצים על יצירה ופועלים לפי ההוראות במסך.
הכלי מציג את הערך של המפתח הציבורי.
בקטע Key comment, מחליפים את הטקסט שמופיע מראש בשם המשתמש שלכם. לדוגמה,
cloudysanfranciscoאוcloudysanfrancisco_gmail_com.במכונות וירטואליות של Linux, אי אפשר להשתמש בערך
rootבשדה הערה לגבי המפתח, אלא אם מגדירים את ה-VM כך שתתאפשר התחברות באמצעות משתמש ה-Root. מידע נוסף זמין במאמר איך מתחברים למכונות וירטואליות כמשתמש Root.במכונות וירטואליות של Windows שמשתמשות ב-Active Directory (AD), צריך להוסיף את דומיין ה-AD לפני הערה לגבי המפתח, בפורמט
DOMAIN\. לדוגמה, למשתמשcloudysanfranciscoב-ad.example.comAD יש הערה מרכזית שלexample\cloudysanfrancisco.אופציונלי: מזינים סיסמה למפתח כדי להגן על המפתח באמצעות סיסמה.
לוחצים על שמירת המפתח הפרטי כדי לבחור מיקום לשמירת המפתח הפרטי.
הכלי PuTTYgen כותב את המפתח הפרטי לקובץ עם סיומת
.ppk.לוחצים על שמירת המפתח הציבורי כדי לבחור מיקום לשמירת המפתח הציבורי. משאירים את החלון של PuTTYgen פתוח.
מעתיקים את הטקסט מהשדה Public key for pasting into OpenSSH authorized_keys file.
פותחים את קובץ המפתח הציבורי. המפתח הציבורי מופיע בפורמט דומה לזה:
---- BEGIN SSH2 PUBLIC KEY ---- Comment: "USERNAME" KEY_VALUE ---- END SSH2 PUBLIC KEY ----
מחליפים את כל התוכן של קובץ המפתח הציבורי בערך שהעתקתם מהשדה Public key for pasting into OpenSSH authorized_keys file (מפתח ציבורי להדבקה בקובץ authorized_keys של OpenSSH), כך שקובץ המפתח הציבורי יתאים לפורמט הבא:
KEY_VALUE USERNAME
מפתח ציבורי של משתמש cloudysanfrancisco נראה בערך כך:
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDAu5kKQCPF... cloudysanfrancisco
מה השלב הבא?
- איך מוסיפים מפתחות SSH למכונות וירטואליות
- מידע על חיבורי SSH ב-Compute Engine