现在各大linux厂商,其实已经有专门给openStack提供的镜像,不过国内的朋友,不太习惯老外做镜像的方式,经常问密码是多少。本博客提供几种修改密码方案,仅供参考。

前言

对OpenStack云主机来说,有以下几种方式登录:

SSH 密匙登录

创建时指定密码

创建后执行脚本修改密码

Horizon nova支持注入密码

默认OpenStack的Dashboard修改虚拟机的密码的功能是关闭的,你需要enable。我是使用RDO安装。

编辑/usr/share/openstack-dashboard/openstack_dashboard/local/local_settings.py

# The OPENSTACK_HYPERVISOR_FEATURES settings can be used to enable optional

# services provided by hypervisors.

OPENSTACK_HYPERVISOR_FEATURES = {

'can_set_mount_point': False,

'can_set_password': True,

}

重启httpd服务

systemctl restart httpd.service

这时候你就可以看到设置管理员密码的地方,不过这个时候,你可能还是不能修改密码。你需要修改计算节点的nova.conf文件

[libvirt]

# Inject the admin password at boot time, without an agent.

# (boolean value)

#inject_password=false

inject_password=True

这样重启服务:

openstack-service restart nova

Cirros

这是一个大家在OpenStack测试非常喜欢使用的镜像,小于15M,测试起来非常方便。

user:cirros

pass:cubswin:)

你可以在Horizon的vnc登录或者通过SSH登录。如果你通过Horizon设置密码,其实就是设置Cirros镜像的root的密码,设置完成后,你可以在控制台或者SSH,使用root和你设置的密码登录。

如果你希望使用秘钥,用root身份登录,那么默认是不行的,你会客户端看到提示

Please login as 'cirros' user, not as root

如果你使用cirros用户登录,你会发现其实root的目录下也注入的公钥,只是

$ sudo ls /root/.ssh/

authorized_keys

$ sudo cat /root/.ssh/authorized_keys

# The following ssh key was injected by Nova

command="echo Please login as \'cirros\' user, not as root; echo; sleep 10" ssh-rsa

ofEJnEpgbTIuO1Wc5vTs/cMuPmaJ7x6dAX2vg84LkRyX1dDzvQ8nD/tYpFYnSjzrh72N7tMm76GAaR

HzMxg3uNMGVk+wXCBU/Ffm1vE1A5uQ== root@node12

$

在公钥里加入一行,导致root无法登录。我们可以通过Horizon提供的user data的功能,实现root登录

#!/bin/sh

cp -f /home/cirros/.ssh/authorized_keys /root/.ssh/

其实就是把cirros的公钥,复制到root的目录下。这时候创建出来的虚拟机就可以直接使用root登录,没有任何的遗憾。

Ubuntu

Ubuntu的OpenStack镜像其实做的非常不错,使用也非常广泛。

官方下载地址:http://cloud-images.ubuntu.com/trusty/ 我是下载qcow2格式。

国外的镜像制作,基本都是只能使用秘钥登录。该镜像的用户名是:ubuntu

你可以通过在创建虚拟机的时候设置密码,这个是root的密码,这样你可以在控制台,用root的身份和你设置的密码登录。

Ubuntu14.04的镜像,默认不允许root的身份登录,包括密码和秘钥。甚至把注入root的公钥都修改了

# cat /root/.ssh/authorized_keys

no-port-forwarding,no-agent-forwarding,no-X11-forwarding,

command="echo 'Please login as the user \"ubuntu\" rather than the user \"root\".';

echo;sleep 10" ssh-rsa

AAAAB3NzaC1yc2EAAAABIwAAAQ

HzMxg3uNMGVk+wXCBU/Ffm1vE1A5uQ== root@node12

如果我们希望用root的身份,ssh登录,那么和上面镜像差不多。创建后执行脚本:

#!/bin/sh

sed -i 's/PermitRootLogin without-password/PermitRootLogin yes/g' /etc/ssh/sshd_config

sed -i 's/PasswordAuthentication no/PasswordAuthentication yes/g' /etc/ssh/sshd_config

cp -f /home/ubuntu/.ssh/authorized_keys /root/.ssh/

service ssh restart

如果你希望给ubuntu的用户设置一个密码,创建后执行脚本:

#!/bin/sh

passwd ubuntu<

pass

pass

EOF

用户ubuntu,就可以在控制台使用密码:pass 登录,不过这个时候,你还是无法通过ssh访问虚拟机,因为ssh默认设置是禁用密码认证,所以你需要多做点工作。

#!/bin/sh

passwd ubuntu<

ubuntu

ubuntu

EOF

sed -i 's/PasswordAuthentication no/PasswordAuthentication yes/g' /etc/ssh/sshd_config

service ssh restart

CentOS

目前CentOS官方提供CentOS 6 和CentOS 7的镜像,大家可以从官方下载 http://cloud.centos.org/centos/7/images/

没有压缩的是900多M,压缩过的是400多M。默认的用户名是:centos

目前各大发行版对镜像的定制,安全性基本都是一致的。CentOS,同样也是不允许root登录,使用密钥也是不行的。

如果是希望root使用密钥登录,做法和Cirros镜像基本是一样的

#!/bin/sh

mv /root/.ssh/authorized_keys /root/.ssh/authorized_keys.old

cp /home/centos/.ssh/authorized_keys /root/.ssh/

镜像的ssh设置,是允许root的登录的,所以就不需要修改ssh。如果你希望root可以使用密码登录。那么你需要用脚本修改ssh设置

#!/bin/sh

sed -i 's/PasswordAuthentication no/PasswordAuthentication yes/g' /etc/ssh/sshd_config

systemctl restart sshd

顺便也测试了一下CentOS6的镜像,好像有点问题,无法设置密码。别的都没啥问题。

其他方式

centos

#!/usr/bin/env python

# -*- coding: utf-8 -*-

import binascii

message = \

"""#!/bin/bash

#modified vm's passwd

passwd root <

root

root

EOF"""

data = binascii.b2a_base64(message)[:-1]

print data

#data = base64.decodestring("""IyEvYmluL2Jhc2gKI21vZGlmaWVkIHZtJ3MgcGFzc3dkCnBhc3N3ZCByb290IDw8RU9GCmdpYW50Y29tcApnaWFudGNvbXAKRU9G""")

print data

windows03

#!/usr/bin/env python

# -*- coding: utf-8 -*-

import binascii

message = \

"""net user administrator giantcomp"""

data = binascii.b2a_base64(message)[:-1]

print data

#data = base64.decodestring("""IyEvYmluL2Jhc2gKI21vZGlmaWVkIHZtJ3MgcGFzc3dkCnBhc3N3ZCByb290IDw8RU9GCmdpYW50Y29tcApnaWFudGNvbXAKRU9G""")

print data

linux镜像修改密码,OpenStack 镜像修改密码方案相关推荐

  1. 如何构建OpenStack镜像

    本文以制作CentOS7.2镜像为例,详细介绍手动制作OpenStack镜像详细步骤,解释每一步这么做的原因.镜像上传到OpenStack glance,支持以下几个功能: 支持密码注入功能(nova ...

  2. OpenStack 镜像密码修改办法

    Contents [hide] 1 场景 2 方案一 3 方案二 4 方案三 5 目前采用方案三 场景 用户将实例里的root密码修改了,/root/.ssh/的公钥文件删除了,然后把密码忘记了,需要 ...

  3. 修改官方发行openstack镜像的cloud-init登录方式为账号密码登录

    openstack使用的镜像多为qcow2格式,各个发行商也开源了针对openstack制作的镜像.但是这些镜像的登录方式都是注入用户名和密码的方式,就是说不能够直接通过账号和密码登录.那么如何将一个 ...

  4. linux镜像默认密码,OpenStack官方镜像和密码

    现在各大linux厂商,其实已经有专门给openStack提供的镜像,不过国内的朋友,不太习惯老外做镜像的方式,经常问密码是多少. 现在安全事故很多,所以还是建议大家去官方下载镜像,有使用的问题,也比 ...

  5. Windows批量修改服务器密码,expect批量修改linux服务器密码

    expect批量修改linux服务器密码 内容精选 换一换 批量修改弹性云服务器信息.当前仅支持批量修改云服务器名称,一次最多可以修改1000台.PUT /v1/{project_id}/clouds ...

  6. linux VM映像chroot注入修改root密码

    在提供VM给用户使用的时候,可能需要生成一个随机密码供用户第一次登陆VM使用,这就涉及到修改VM映像中root密码的问题.对于Linux映像而言,可以使用qemu-nbd和chroot来进行修改.本文 ...

  7. 修改linux文件夹密码忘记,Linux中如何重新获取丢失的密码

    在Linux系统中,如果把用户的密码忘记了,就很麻烦也很难重新获得.通过下面的方法可以重新设置用户对饿密码: 首先介绍一下Linux'的建立/删除账户的命令 useradd  username    ...

  8. linux登录pg数据库密码,PostgreSQL:修改数据库用户的密码

    1.  psql.bin: FATAL: password authentication failed for user "postgres"#su  postgres -bash ...

  9. linux改用户密码chpasswd,Linux chpasswd (批量或单一修改用户密码)和passwd(直接修改用户密码)...

    Linux命令:chpasswd 批量或者单一修改用户密码 语法: 1:# echo 用户名:密码 | chpasswd 2:# chpasswd < doiido.txt 实例 1.直接修改d ...

最新文章

  1. 【怎样写代码】确保对象的唯一性 -- 单例模式(四):饿汉式单例类与懒汉式单例类的讨论
  2. 裸眼3D将是未来移动端的显示的主要技术
  3. 基于Android的图书管理系统
  4. Excel如何从身份证号码中提取性别
  5. Qt我的文档 桌面路径
  6. cytoscape使用方法_Cytoscape的使用方法(带图片解析)
  7. Segmentation简记5-AuxNet: Auxiliary tasks enhanced Semantic Segmentation for Automated Driving
  8. 陈宝存:楼市调控不撞南墙不回头
  9. 2021年“羊城杯”网络安全大赛部分Writeup
  10. linux系统it固定资产管理系统包_固定资产条码管理系统特性分析
  11. 新手真无线蓝牙耳机怎么选?大神推荐高颜值时尚主流蓝牙耳机推荐
  12. 机器学习(四)——Adaboost算法
  13. Google搜索设置在新标签页打开的方法
  14. Ubuntu 14.04+Ros indigo+ORB_SLAM2 的平台搭建
  15. 如何通过App Store的变态审核-网络转载
  16. 【Spring】1.核心原理解析
  17. 【转】关于第三方支付,看这篇文章就够了!
  18. matlab中nabisect函数,数值分析在MATLAB中的实现(M函数文件)
  19. 2.一个简单的Servlet容器
  20. [ 云计算 华为云 ] 华为云开天 aPaaS:构建高效的企业数字化平台(下)

热门文章

  1. 虚幻引擎C++编程游戏开发基础
  2. leetcode-455 分发饼干
  3. C语言网络编程:TCP编程模型
  4. 输入重定向,输出重定向,管道相关内容及实现方法
  5. 使用μJava进行变异体测试
  6. 地图收敛心得170405
  7. Qt4在linux下的安装
  8. 32位汇编寄存器及汇编指令
  9. grep 正则表达式及选项以及注意
  10. Excel在.Net 环境下Web方式下驻留内存问题的解决