4.2. 使用 cloud-init 使云用户密码过期

要强制 cloud-user 在第一次登录时更改 cloud-user 密码,您可以将其密码设置为过期。

步骤

  1. 根据数据源的要求,编辑 user-data 文件或在 cloud.cfg.d 目录中添加以下指令:

    注意

    所有用户指令都包括文件顶部的 #cloud-config,以便 cloud-init 将文件识别为包含用户指令。当您在 cloud.cfg.d 目录中包含指令时,将该文件命名为 *.cfg,且始终在文件的顶部包含 #cloud-config

  2. 把行 chpasswd: {expire:false} 改为 chpasswd: {expire:true}:

    #cloud-config
    password: mypassword
    chpasswd: {expire: True}
    ssh_pwauth: True
    ssh_authorized_keys:
      - ssh-rsa AAA...SDvz user1@yourdomain.com
      - ssh-rsa AAB...QTuo user2@yourdomain.com

    这可让密码过期,因为除非您另有说明,否则 passwordchpasswd 只针对默认的用户执行操作。

    注意

    这是一个全局设置。当您将 chpasswd 设置为 True 时,您创建的所有用户都需要在登录时更改其密码。