ubuntu、RHEL、任何云镜像的登录密码

Login password for ubuntu, RHEL, any cloud image

OpenStack 云映像:

https://docs.openstack.org/image-guide/obtain-images.html 有多个云图像可用。为了在部署虚拟机后登录到虚拟机,可以使用 ssh key pairpassword。但是有些图像 sshkeypairlogin 被禁用并且默认情况下没有内置密码,那么如何登录到这些用户只有 user-name

信息的虚拟机

可以使用 cloud-init:

为内置用户生成密码

Option-1: 使用 OpenStack horizo​​n

如果用户使用 horizo​​n 来启动实例,那么 post-configuration 通过提供如下配置来启动实例:

    #cloud-config
    chpasswd:
      list: |
        cloud-user:rhel
        root:rheladmin
      expire: False

此处为 RHEL 映像的 cloud-userroot 用户生成密码。只需替换用户即可将其用于任何图像的任何用户。

Option-2: 使用 OpenStack heat 模板

通过提供如下 user-data 使用 openstack heat 模板:

heat_template_version: 2015-04-30

description: Launch the RHEL VM with a new password for cloud-user and root user

resources:
  rhel_instance:
    type: OS::Nova::Server
    properties:
      name: 'demo_instance'
      image: '15548f32-fe27-449b-9c7d-9a113ad33778'
      flavor: 'm1.medium'
      availability_zone: zone1
      key_name: 'key1'
      networks:
      - network: '731ba722-68ba-4423-9e5a-a7677d5bdd2d'
      user_data_format: RAW
      user_data: |
        #cloud-config
        chpasswd:
          list: |
            cloud-user:rhel
            root:rheladmin
          expire: False

此处为 RHEL 映像的 cloud-userroot 用户生成密码。这同样适用于任何图像的任何用户。