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

如何在自定义EC2 AMI中为ubuntu用户设置可持久化的默认密码?

解决EC2自定义AMI中Ubuntu用户密码持久化问题

方法1:用cloud-init配置默认密码

EC2实例启动时会运行cloud-init,默认会重置用户的认证信息,所以得通过cloud-init的配置来固定默认密码:

    1. 编辑cloud-init的主配置文件:
    sudo nano /etc/cloud/cloud.cfg
    
    1. 先生成加密后的密码字符串,执行下面的命令,输入你想设置的密码后会输出加密结果:
    mkpasswd --method=SHA-512
    
    1. 在配置文件里找到users数组,修改ubuntu用户的配置,把刚才生成的加密密码填进去,同时设置lock_passwd: false,示例如下:
    users:
      - name: ubuntu
        passwd: 替换成加密后的密码字符串
        lock_passwd: false
        sudo: ["ALL=(ALL) NOPASSWD:ALL"]
        groups: sudo
        shell: /bin/bash
    
    1. 保存文件后,清理cloud-init的缓存:
    sudo cloud-init clean
    

方法2:直接改shadow文件+禁用cloud-init用户管理

要是不想用cloud-init配置,也可以直接修改密码文件,同时让cloud-init别插手用户设置:

    1. 先给ubuntu用户设好密码:
    sudo passwd ubuntu
    
    1. 编辑cloud.cfg文件,把里面的users段落注释掉(每行开头加#),这样cloud-init启动时就不会重置用户信息了:
    sudo nano /etc/cloud/cloud.cfg
    
    1. 删除cloud-init的实例缓存数据,避免残留配置影响新实例:
    sudo rm -rf /var/lib/cloud/instances/*
    

注意点

  • 一定要用加密后的密码,别直接写明文,不然安全风险很高。
  • 改完配置后先重启当前实例测试一下,确认密码能正常登录,再创建自定义AMI。
  • 为了安全,最好提醒用户首次登录后立刻修改默认密码。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.19 07:15:03