You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何修改脚本实现向ESXi主机批量复制SSH密钥?

批量向ESXi主机复制SSH密钥的脚本修改方案

你可以直接修改脚本,适配ESXi主机的密钥存储路径,同时保留批量处理逻辑,修改后的脚本如下:

#!/bin/bash
# 遍历ESXi主机IP列表
for ip in $(cat /root/esxi_ips); do
    # 自动传递密码,将本地公钥追加到ESXi的授权密钥文件
    sshpass -p "test" ssh root@$ip 'mkdir -p /etc/ssh/keys-root/ && cat >> /etc/ssh/keys-root/authorized_keys' < ~/.ssh/id_rsa.pub
done

关键修改说明:

  • 路径适配:ESXi的root用户授权密钥路径是/etc/ssh/keys-root/authorized_keys,替换了Linux系统默认的~/.ssh/authorized_keys
  • 目录预创建:增加mkdir -p /etc/ssh/keys-root/,避免部分ESXi主机因首次开启SSH未生成该目录导致命令失败
  • 登录用户:明确指定root@$ip,因为ESXi默认仅root用户拥有操作该路径的权限
  • 输入重定向:用< ~/.ssh/id_rsa.pub替代管道传递公钥,结合sshpass使用更稳定

注意事项:

  • 请将/root/esxi_ips替换为你的ESXi主机IP列表文件路径,确保每行一个IP
  • 把"test"替换为实际的ESXi root用户密码
  • 执行前建议先在单台ESXi主机上测试命令,确认可以正常写入密钥
  • 若主机密码不统一,可修改脚本读取包含密码的列表(比如每行格式为ip:password),再拆分变量处理

内容的提问来源于stack exchange,提问作者Prudhvi Krishna

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.19 15:25:17