针对dib制作的deploy image,注入密码有两种方式:
devuser/dynamic-login 、对应 dib 添加密码,是通过 dynamic-login element 来完成的。
首先制作带 dynamic-login 的映像: disk-image-create ironic-agent centos7 dynamic-login -o ironic-deploy
centos7 可换为fedora或者ubuntu dynamic-login 的原理是在系统里起一个 dynamic-login 服务,在系统
上电时,解析 /proc/cmdline 里的参数,如果用户传了 rootpwd 或者 sshkey,
则写到对应的文件中,这样用户就可以登录系统了。
dynamic-login 使用的是密文,我们可以使用 openssl 生产密码:
$ openssl passwd Password:
Verifying - Password:
mNw2hVHmny2Ho 然后我们把在 /etc/ironic/ironic.conf 添加我们的密码:
$ cat /etc/ironic/ironic.conf
[pxe]
pxe_append_params = rootpwd="mNw2hVHmny2Ho" 如果使用 ssh 方式登录,则添加 sshkey
$ cat ~/.ssh/id_rsa.pub
# 添加 sshkey="<your_sshkey>"
$ cat /etc/ironic/ironic.conf [pxe]
pxe_append_params = sshkey="" 、devuser
这种方式一般在测试时使用,在正式环境中不推荐使用。原理是在制作镜像的时候,通过环境变量注入密码,然后diskimage-builder在做镜像的时候把密码写进去。 export DIB_DEV_USER_USERNAME=username
export DIB_DEV_USER_PWDLESS_SUDO=yes
export DIB_DEV_USER_AUTHORIZED_KEYS=$HOME/.ssh/id_rsa.pub disk-image-create -o ironic-deploy ubuntu ironic-agent devuser
重启服务
systemctl restart ironic-*
ssh root@node_ip
参考:
https://docs.openstack.org/diskimage-builder/latest/elements/dynamic-login/README.html
https://leetpy.github.io/2017/04/04/ironic%E9%95%9C%E5%83%8F%E5%88%B6%E4%BD%9C/
http://ironic-book.readthedocs.io/zh_CN/latest/ironic/images.html#deploy

dib build ipa image Injection password的更多相关文章

  1. coreos ipa image Injection of public key

    查看readme To embed the oem/ directory into a CoreOS pxe image:   Note: In order to have the ability t ...

  2. [转]Jenkins Xcode打包ipa

    本地打包. 如果Mac 上没有安装brew.先安装:ruby -e "$(curl -fsSL https://raw.github.com/Homebrew/homebrew/go/ins ...

  3. Jenkins Xcode打包ipa

    本地打包. 如果Mac 上没有安装brew.先安装:ruby -e "$(curl -fsSL https://raw.github.com/Homebrew/homebrew/go/ins ...

  4. jenkens其实是代码上传工具

    Jenkins 持续集成使用教程 用 jenkins 有什么好处 通过规范化来完成,简单,繁琐,浪费时间的重复工作 规范化工作,以免出现低级错误 实现随时随地任何人一键构建 ...... 安装 jen ...

  5. Mysql 注意细节

    1.无法连接远程数据库,是因为远程服务器并没有开通权限,提供给其他机子连接: 在服务器机子 开通权限: 1)进去MySql 2)mysql>GRANT   ALL   PRIVILEGES    ...

  6. 使用 fastlane 实现 iOS 持续集成(转)

    http://www.cocoachina.com/ios/20150916/13433.html 简介 持续集成是个“一次配置长期受益”的工作.但很多小公司都没有.以前在做Windows开发配置感觉 ...

  7. IOS使用Jenkins持续集成

    本文详细介绍了开发过程,提高效率进行IOS-Jenkins持续集成. 第二http://blog.csdn.net/monkey_cool/article/details/43270885 背景 平时 ...

  8. 【翻译】Sencha Touch 2入门:创建一个实用的天气应用程序之三

    原文:Getting Started with Sencha Touch 2: Build a Weather Utility App (Part 3) 作者:Lee BoonstraLee is a ...

  9. 初探Java设计模式1:创建型模式(工厂,单例等)

    Java 设计模式 一直想写一篇介绍设计模式的文章,让读者可以很快看完,而且一看就懂,看懂就会用,同时不会将各个模式搞混.自认为本文还是写得不错的,花了不少心思来写这文章和做图,力求让读者真的能看着简 ...

随机推荐

  1. 不该被忽视的CoreJava细节(四)

    令人纳闷的数组初始化细节 这个细节问题我很久以前就想深入研究一下,但是一直没有能够抽出时间,借这系列文章的东风,尽量解决掉这个"心头病". 下面以一维int数组为例,对数组初始化方 ...

  2. 703. 数据流中的第 K 大元素

    设计一个找到数据流中第 K 大元素的类(class).注意是排序后的第 K 大元素,不是第 K 个不同的元素. 你的 KthLargest 类需要一个同时接收整数 k 和整数数组 nums 的构造器, ...

  3. sql server 2012安装程序图

    重点:下面的安装步骤都在断网环境下安装的 因为我想查看联网跟没有联网SQL2012会不会下载并安装.net2.0 和.net3.5和.net4和SP1补丁包 我的环境: 没有集成SP1补丁包的安装包大 ...

  4. ASP.NET的三种开发模式

    前言 ASP.NET 是一个免费的Web开发框架,是由微软在.NET Framework框架中所提供的,或者说ASP.NET是开发Web应用程序的类库,封装在System.Web.dll 文件中.AS ...

  5. Python常见编程规范总结

    Pythonic定义 Python最常用的编码风格还是PEP8,详见:http://jython.cn/dev/peps/pep-0008/ Pythonic确实很难定义,先简单引用下<Pyth ...

  6. UVA1363 - Joseph's Problem(数学,迷之优化)

    题意:给出n和k,1≤n,k≤1e9,计算 切入点是k/i 和 k/(i+1)差距不大.令pi = k/i, ri = k%i.如果pi+1 == pi,那么ri+1 == k - pi(i+1) = ...

  7. axios跨域问题记录

    axios({headers: {'X-Requested-With': 'XMLHttpRequest','Content-Type': 'application/json; charset=UTF ...

  8. javaweb基础(34)_jdbc处理mysql大数据

    一.基本概念 大数据也称之为LOB(Large Objects),LOB又分为:clob和blob,clob用于存储大文本,blob用于存储二进制数据,例如图像.声音.二进制文等. 在实际开发中,有时 ...

  9. Linux MySQL 修改密码

    修改root本地登录密码 修改root默认的密码(方法一)1. 启动mysql之后systemctl start mysqld.service2. 修改mysql的配置文件 vi /etc/my.cn ...

  10. 驾考试题的json代码

    { "statusCode": "000000", "desc": "请求成功", "result" ...