当前位置:网站首页 > 更多 > 玩电脑 > 正文

[玩转系统] 在 VMware ESXi 上设置基于 SSH 密钥的身份验证

作者:精品下载站 日期:2024-12-14 06:34:24 浏览:15 分类:玩电脑

在 VMware ESXi 上设置基于 SSH 密钥的身份验证


您可以配置基于 SSH 密钥的身份验证来登录 VMware ESXi 主机,而不是使用用户名和密码对。如果您需要使用外部脚本远程管理 ESXi 主机(例如,在 UPS 发生断电事件时向 ESXi 发送关闭命令),或者需要使用 Ansible 管理 VMware ESXi 主机,这会很有用。

在管理员计算机上生成私钥和公钥。使用最小长度为 4096 位的 RSA 密钥。要在 Windows 上生成 4096 长度的 RSA 密钥对,请运行以下命令

ssh-keygen -t rsa -b 4096

了解有关 Windows 上基于 SSH 密钥的身份验证的更多信息。

[玩转系统] 在 VMware ESXi 上设置基于 SSH 密钥的身份验证

建议在新的 OpenSSH 版本中使用 Ed25519 协议而不是 RSA 密钥(测试私钥可用性时使用 RSA/SHA256,因为某些系统开始在 libcrypto 中禁用 RSA/SHA1)。在 ESXi 8.0 中,我只能在禁用后使用 Ed25519 密钥对建立 SSH 连接。

FipsMode no

/etc/ssh/sshd_config 中的选项。

要生成 Ed25519 密钥(id_ed25519id_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

。如果这是 root 用户的密钥,则该文件的路径将如下所示:

/etc/ssh/keys-root/authorized_keys

使用 SSH 连接到 ESXi 服务器。

您可以手动编辑该文件(可以在一个文件中存储多个密钥)或使用 PowerShell 命令将其添加到 ESXi 服务器:

cat c:\users\admin\.ssh\id_rsa.pub | ssh [email protected] 'cat >> /etc/ssh/keys-root/authorized_keys'

[玩转系统] 在 VMware ESXi 上设置基于 SSH 密钥的身份验证

/etc/ssh/sshd_config 文件包含 ESXi 主机上的 OpenSSH 服务器。

使用此选项启用或禁用根访问:

PermitRootLogin yes

关闭 SSH 密码登录:

ChallengeResponseAuthentication no # deprecated
KbdInteractiveAuthentication no
PasswordAuthentication no

[玩转系统] 在 VMware ESXi 上设置基于 SSH 密钥的身份验证

在 ESXi 上重新启动 SSH 服务器:

# /etc/init.d/SSH restart

您还可以使用VMware 主机配置文件将开放 SSH 密钥部署到 ESXi 主机(安全配置 -> root 用户的 SSH 授权密钥 -> 添加公钥)

[玩转系统] 在 VMware ESXi 上设置基于 SSH 密钥的身份验证

您现在可以使用私钥连接到 ESXi 主机,无需密码。在启用了 ssh-agent 的 Windows 计算机上,连接到主机时会自动使用用户配置文件中的私钥:

ssh [email protected]

[玩转系统] 在 VMware ESXi 上设置基于 SSH 密钥的身份验证

您还可以使用-i参数指定私钥的路径:

ssh [email protected] -i "C:\Users\administrator\.ssh\id_rsa"

现在您可以在 ESXi 控制台中远程运行任何命令。例如,关闭特定虚拟机:

ssh [email protected] vim-cmd vmsvc/power.shutdown VMID

您需要 登录账户 后才能发表评论

取消回复欢迎 发表评论:

关灯