0x00 序

  当前主流的Linux系统都有提供可以在OpenStack中直接使用cloud镜像,但当使用从官方网站下载的镜像创建云主机时,你会发现Linux下经常使用的ssh竟然无法登陆新创建好的云主机。

  为什么会出现这种情况呢?

  因为官方提供的镜像,默认的是“root+密钥对”的方式登陆,而不是使用“root+密码”的方式登陆。

  那么要想使用“root+密码”的方式登陆应该怎么做?

  要启用“root+密码”的方式登陆,有两种方式:一种是在主机创建时指定,详情请看这里;另一种是使用“guestfish”工具修改镜像文件。本文主要介绍的就是通过“guestfish”的方式启用“root+密码”的方式。

0x01 下载镜像

  主流的Linux系统都提供有供OpenStack使用的cloud镜像:

  CentOS:http://cloud.centos.org/centos/

  Ubuntu:http://cloud-images.ubuntu.com/

0x02 安装guestfish(以下操作需要使用root权限)

  Ubuntu: apt-get install libguestfs-tools

  CentOS: yum install guestfish

0x03 启用“root+密码”的登陆方式

  以Ubuntu系统为例:

root:~# guestfish --rw -a ubuntu.img

root:~# ><fs> run

root:~# ><fs> list-filesystem
/dev/sda1 :ext4
root:~# ><fs> mount /dev/sda1 /

  另起一个终端,执行以下命令:

root:~# openssl passwd - ubuntu
$$AsKVw9p8$BMxCNkExSBbtrN2IaU3/W.

  

root:~# ><fs> vi /etc/shadow

  将第一行的“root:*:”中的“*”替换为“$1$AsKVw9p8$BMxCNkExSBbtrN2IaU3/W.”,保存退出。

root:~# ><fs> vi /etc/ssh/sshd_config

  将“PermitRootLogin”行改为“PermitRootLogin yes”,“PasswordAuthentication no”改为“PasswordAuthentication yes”,保存退出。

root:~# ><fs> quit

  退出guestfish。

  之后再使用修改后的镜像创建云主机就可以使用“ssh root@ip + ubuntu”登陆了。

0x04 补充

  如果不想使用root用户登陆,可以使用CentOS/Ubuntu官方提供的镜像提供的普通用户centos/ubuntu用户登陆,不过需要手动配置下/etc/cloud/cloud.cfg文件,修改方法同上:

root:~# ><fs> vi /etc/cloud/cloud.cfg

  找到default_user字段,将lock_passwd:True(默认禁用密码登陆)修改为:lock_passwd:false,添加:plain_text_passwd:'ubuntu',保存退出。

OpenStack官方镜像无法ssh登陆的更多相关文章

  1. openstack 官方镜像qcow2 下载和修改密码

    下载地址: CentOS6:http://cloud.centos.org/centos/6/images/ CentOS7:http://cloud.centos.org/centos/7/imag ...

  2. Openstack 使用Centos官方镜像创建实例记录

    Openstack 使用Centos官方镜像创建实例记录 准备centos镜像 官方地址:http://cloud.centos.org/centos/7/images 可以看到有各种版本的镜像,我在 ...

  3. 修改openstack Centos镜像的默认用户的密码

    Ubuntu官方提供的OpenStack镜像是用Key来登录的,太麻烦,可以改成用密码来登录. 修改image的工具叫:guestfish. yum install libguestfs-tools ...

  4. openstack导入镜像

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

  5. 读书笔记---《Docker 技术入门与实践》---为镜像添加SSH服务

    之前说到可以通过attach和exec两个命令登陆容器,但是如果遇到需要远程通过ssh登陆容器的场景,就需要手动添加ssh服务. 下面介绍两种方法创建带有ssh服务的镜像,commit命令创建和通过D ...

  6. 制作 OpenStack Linux 镜像 - 每天5分钟玩转 OpenStack(151)

    这是 OpenStack 实施经验分享系列的第 1 篇. OpenStack 的 instance 是通过 Glance 镜像部署的,所以准备镜像是必须要做的工作.本节介绍 Linux 镜像的制作方法 ...

  7. ssh登陆服务器locale告警(-bash: warning: setlocale:)的处理方法

    使用ssh远程登陆 IDC机房服务器,发现老是出现如下告警信息: -bash: warning: setlocale: LC_CTYPE: cannot change locale (en_US.UT ...

  8. docker下debian镜像开启ssh, 允许root用密码登录

    用的官方python镜像做开发, 暴露端口, 用pycharm ssh进去开发. 忽然发现本来ssh能连上, 但是更了新的python镜像连不上了. 有折腾了一下, 连上了. 主要是python官网镜 ...

  9. 为镜像添加SSH服务

    操作Docker容器介绍了一些进入容器的办法,比如attach.exec等命令,但是这些命令都无法解决远程管理容器的问题.因此,当需要远程登录到容器内进行一些操作的时候,就需要SSH的支持了. 如何自 ...

随机推荐

  1. 题解【语文1(chin1)- 理理思维】

    link 喵~珂朵莉树AC 珂朵莉树?见此处~ 这数据结构太暴力了,所以不讲了 Code: #include<iostream> #include<cstdio> #inclu ...

  2. textField 总结

    /* 通知使用,可以通过接受系统通知来做一些事情 UITextField派生自UIControl,所以UIControl类中的通知系统在文本字段中也可以使用.除了UIControl类的标准事件,你还可 ...

  3. Rails render collection 的魔法

    都知道的, 在 Rails 的 View 里边渲染集合的时候, 会用到 render 方法参数的 collection 选项 1 <%= render partial: "produc ...

  4. 限制客户端同账号同IP多终端登录

    打开SoftEther VPN Server Manager工具,连接上节点 1.管理虚拟HUB--管理用户--双击用户--安全策略--最大多重登录数设置为1 2.管理虚拟HUB--虚拟HUB属性-- ...

  5. RAM-Based Shift Register (ALTSHIFT_TAPS) IP Core-实现3X3像素阵列存储

    最近想要实现CNN的FPGA加速处理,首先明确在CNN计算的过程中,因为卷积运算是最耗时间的,因此只要将卷积运算在FPGA上并行实现,即可完成部分运算的加速 那么对于卷积的FPGA实现首先要考虑的是卷 ...

  6. java 解析URL里的主域名及参数工具类

    java 解析URL里的协议及参数工具类,解析URL中的主域名,并统一把协议修改成http或去掉协议 public class UrlDomainUtils { private static fina ...

  7. AJAX数据传输(原生js)

    原生ajax写法 <!DOCTYPE html> <html lang=""> <head> <meta charset="UT ...

  8. Java面试题3-附答案

    接口有什么用 1.通过接口可以实现不相关类的相同行为,而不需要了解对象所对应的类. 2.通过接口可以指明多个类需要实现的方法. 3.通过接口可以了解对象的交互界面,而不需了解对象所对应的类. 另:Ja ...

  9. can't compute CFA for this frame

    解决方法: 将gdb更新到7.8.2版本以上 gdb --version   // 查看gdb版本 wget http://ftp.gnu.org/gnu/gdb/gdb-7.12.tar.gz ta ...

  10. freeswitch的internal的profile无法启动

    服务器断电重启后,导致freeswitch的internal的profile无法启动 在fs_cli执行 sofia profile internal restart 打印如下信息: [ERR] sw ...