הגדרת אימות מבוסס מפתח SSH ב- VMware ESXi


באפשרותך להגדיר אימות מבוסס מפתח SSH כדי להיכנס למארחי VMware ESXi במקום להשתמש בצמד שמות משתמש וסיסמאות. אפשרות זו יכולה להיות שימושית אם עליך לנהל מרחוק מארח ESXi באמצעות קבצי Script חיצוניים (לדוגמה, כדי לשלוח פקודת כיבוי ל- ESXi באירוע הפסקת חשמל ב- UPS), או אם עליך לנהל מארחי VMware ESXi באמצעות Ansible.

צור מפתחות פרטיים וציבוריים במחשב של מנהל המערכת. השתמש במקשי RSA באורך מינימלי של 4096 סיביות. כדי ליצור זוג מפתחות RSA באורך 4096 ב- Windows, הפעל את הפקודה

ssh-keygen -t rsa -b 4096

קבל מידע נוסף על אימות מבוסס מפתח SSH ב- Windows.

מומלץ להשתמש בפרוטוקול Ed25519 במקום במפתחות RSA בגירסאות Build חדשות של OpenSSH (השתמש ב- RSA/SHA256 בעת בדיקת שימושיות של מפתחות פרטיים מכיוון שמערכות מסוימות מתחילות להשבית RSA/SHA1 ב- libcrypto). ב-ESXi 8.0, הצלחתי ליצור חיבור SSH רק באמצעות צמד המפתחות Ed25519 לאחר השבתת

FipsMode no

אפשרות ב- /etc/ssh/sshd_config.

כדי ליצור מקשי Ed25519 (id_ed25519 ו- id_ed25519.pub), הפעל:

ssh-keygen -t ed25519

כלי השירות יוצר שני קבצים בספריית הפרופיל הנוכחית של המשתמש (%USERPROFILE%\.ssh):

  • id_rsa - מפתח פרטי

  • id_rsa.pub - מפתח ציבורי (פתוח)

אם אתה משתמש בכלי Puttygen כדי ליצור מפתחות, יהיה עליך לייצא אותם בפורמט OpenSSH.

העתקת המפתח הציבורי (id_rsa.pub) מהמחשב למארח VMware ESXi יש להוסיף מפתח זה לקובץ

/etc/ssh/keys-$USER/authorized_keys

. אם זהו מפתח עבור משתמש הבסיס, הנתיב לקובץ יהיה כדלקמן:

/etc/ssh/keys-root/authorized_keys

התחבר לשרת ESXi באמצעות SSH.

באפשרותך לערוך את הקובץ באופן ידני (באפשרותך לאחסן מפתחות מרובים בקובץ אחד) או להוסיף אותו לשרת ESXi באמצעות הפקודה PowerShell:

cat c:\users\admin\.ssh\id_rsa.pub | ssh root@192.168.18.38 'cat >> /etc/ssh/keys-root/authorized_keys'

הקובץ /etc/ssh/sshd_config מכיל את שרת OpenSSH במארח ESXi.

השתמש באפשרות זו כדי להפעיל או להשבית גישת בסיס:

PermitRootLogin yes

כבה כניסות באמצעות סיסמת SSH:

ChallengeResponseAuthentication no # deprecated
KbdInteractiveAuthentication no
PasswordAuthentication no

הפעל מחדש את שרת SSH ב-ESXi:

# /etc/init.d/SSH restart

באפשרותך גם להשתמש בפרופילי מארח של VMware כדי לפרוס מפתחות SSH פתוחים למארחי ESXi (תצורת אבטחה -> מפתח מורשה SSH עבור משתמש בסיס -> הוסף מפתח ציבורי)

כעת באפשרותך להתחבר למארח ESXi ללא סיסמה באמצעות המפתח הפרטי. במחשבי Windows שבהם מופעל ssh-agent, המפתח הפרטי מפרופיל המשתמש משמש באופן אוטומטי בעת התחברות למחשב המארח:

ssh root@192.168.15.38

ניתן גם להשתמש בפרמטר -i כדי לציין את הנתיב למפתח הפרטי:

ssh root@192.168.15.38 -i "C:\Users\administrator\.ssh\id_rsa"

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

ssh root@192.168.15.38 vim-cmd vmsvc/power.shutdown VMID