OpenStack之初始化VM的ssh密码
原始做法
写shell脚本,然后创建VM时选择要执行的脚本。
脚本还要根据VM的操作系统进行细分。
ubuntu
#!/bin/sh
passwd ubuntu<<EOF
ubuntu
ubuntu
EOF
sed -i 's/PasswordAuthentication no/PasswordAuthentication yes/g' /etc/ssh/sshd_config
service ssh restart
centos
#!/bin/bash
passwd root<<EOF
1234qwer
1234qwer
EOF
sed -i 's/PasswordAuthentication no/PasswordAuthentication yes/g' /etc/ssh/sshd_config
systemctl restart sshd
通用
利用OpenStack的user-data注入,初始化ssh配置,前提是VM镜像中有cloud-init程序。
#cloud-config
chpasswd:
list: |
root:qwer1234
expire: false
ssh_pwauth: true
timezone: Asia/Shanghai
base64编码后的文本:
I2Nsb3VkLWNvbmZpZwpjaHBhc3N3ZDoKICAgbGlzdDogfAogICAgICAgcm9vdDpxd2VyMTIzNAogICBleHBpcmU6IGZhbHNlCnNzaF9wd2F1dGg6IHRydWUKdGltZXpvbmU6IEFzaWEvU2hhbmdoYWk=
Windows通用
前提是VM镜像中有cloudbase-init程序。
利用cloudbase-init的metadata注入,初始化管理员密码。
创建Windows系统的VM时,注入metadata,metadata的键值内容为:
{"admin_pass": "qwer1234"}