ตั้งค่าการตรวจสอบสิทธิ์โดยใช้คีย์ SSH บน VMware ESXi
คุณสามารถกำหนดค่าการตรวจสอบสิทธิ์โดยใช้คีย์ SSH เพื่อเข้าสู่ระบบโฮสต์ VMware ESXi แทนการใช้คู่ชื่อผู้ใช้และรหัสผ่าน สิ่งนี้มีประโยชน์หากคุณต้องการจัดการโฮสต์ ESXi จากระยะไกลโดยใช้สคริปต์ภายนอก (เช่น เพื่อส่งคำสั่งปิดระบบไปยัง ESXi เมื่อเหตุการณ์ไฟฟ้าดับบน UPS) หรือหากคุณต้องการจัดการโฮสต์ VMware ESXi ด้วย Ansible
สร้างคีย์ส่วนตัวและสาธารณะบนคอมพิวเตอร์ของผู้ดูแลระบบ ใช้คีย์ RSA ที่มีความยาวขั้นต่ำ 4096 บิต หากต้องการสร้างคู่คีย์ RSA ความยาว 4096 บน Windows ให้รันคำสั่ง
ssh-keygen -t rsa -b 4096เรียนรู้เพิ่มเติมเกี่ยวกับการตรวจสอบสิทธิ์โดยใช้คีย์ SSH บน Windows
ขอแนะนำให้ใช้โปรโตคอล Ed25519 แทนคีย์ RSA ใน 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



