ค้นหาเว็บไซต์

ตั้งค่าการตรวจสอบสิทธิ์โดยใช้คีย์ 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

บทความที่เกี่ยวข้อง