Tìm kiếm trang web

Thiết lập xác thực dựa trên khóa SSH trên VMware ESXi


Bạn có thể định cấu hình xác thực dựa trên khóa SSH để đăng nhập vào máy chủ VMware ESXi thay vì sử dụng cặp tên người dùng và mật khẩu. Điều này có thể hữu ích nếu bạn cần quản lý từ xa máy chủ ESXi bằng các tập lệnh bên ngoài (ví dụ: để gửi lệnh tắt máy tới ESXi khi mất điện trên UPS) hoặc nếu bạn cần quản lý máy chủ VMware ESXi bằng Ansible.

Tạo khóa riêng và khóa chung trên máy tính của quản trị viên. Sử dụng khóa RSA có độ dài tối thiểu 4096 bit. Để tạo cặp khóa RSA có độ dài 4096 trên Windows, hãy chạy lệnh

ssh-keygen -t rsa -b 4096

Tìm hiểu thêm về xác thực dựa trên khóa SSH trên Windows.

Bạn nên sử dụng giao thức Ed25519 thay vì khóa RSA trong các bản dựng OpenSSH mới (sử dụng RSA/SHA256 khi kiểm tra khả năng sử dụng của khóa riêng tư vì một số hệ thống đang bắt đầu tắt RSA/SHA1 trong libcrypto). Trong ESXi 8.0, tôi chỉ có thể thiết lập kết nối SSH bằng cặp khóa Ed25519 sau khi tắt

FipsMode no

tùy chọn trong /etc/ssh/sshd_config.

Để tạo khóa Ed25519 (id_ed25519 và id_ed25519.pub), hãy chạy:

ssh-keygen -t ed25519

Tiện ích tạo hai tệp trong thư mục hồ sơ của người dùng hiện tại (%USERPROFILE%\.ssh):

  • id_rsa - khóa riêng

  • id_rsa.pub - khóa công khai (mở)

Nếu bạn đang sử dụng công cụ Puttygen để tạo khóa, bạn sẽ cần xuất chúng ở định dạng OpenSSH.

Sao chép khóa chung (id_rsa.pub) từ máy tính của bạn sang máy chủ VMware ESXi Khóa này phải được thêm vào tệp

/etc/ssh/keys-$USER/authorized_keys

. Nếu đây là key dành cho người dùng root thì đường dẫn tới file sẽ như sau:

/etc/ssh/keys-root/authorized_keys

Kết nối với máy chủ ESXi bằng SSH.

Bạn có thể chỉnh sửa tệp theo cách thủ công (bạn có thể lưu trữ nhiều khóa trong một tệp) hoặc thêm nó vào máy chủ ESXi bằng cách sử dụng lệnh PowerShell:

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

Tệp /etc/ssh/sshd_config chứa máy chủ OpenSSH trên máy chủ ESXi.

Sử dụng tùy chọn này để bật hoặc tắt quyền truy cập root:

PermitRootLogin yes

Tắt đăng nhập mật khẩu SSH:

ChallengeResponseAuthentication no # deprecated
KbdInteractiveAuthentication no
PasswordAuthentication no

Khởi động lại máy chủ SSH trên ESXi:

# /etc/init.d/SSH restart

Bạn cũng có thể sử dụng Hồ sơ máy chủ VMware để triển khai các khóa SSH mở cho máy chủ ESXi (Cấu hình bảo mật -> Khóa ủy quyền SSH cho người dùng root -> Thêm khóa chung)

Bây giờ bạn có thể kết nối với máy chủ ESXi mà không cần mật khẩu bằng khóa riêng. Trên máy tính Windows đã bật ssh-agent, khóa riêng từ hồ sơ người dùng sẽ tự động được sử dụng khi kết nối với máy chủ:

ssh root@192.168.15.38

Bạn cũng có thể sử dụng tham số -i để chỉ định đường dẫn đến khóa riêng:

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

Bây giờ bạn có thể chạy từ xa bất kỳ lệnh nào trong bảng điều khiển ESXi. Ví dụ: tắt một máy ảo cụ thể:

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

Bài viết liên quan