Ubuntu出的云环境镜像( http://uec-images.ubuntu.com/trusty/current/trusty-server-cloudimg-amd64-disk1.img ),已经加入了cloud-init,可以在启动的使用扩展分区,注入keypair。
但默认情况下只能通过ssh使用密钥的形式访问虚拟机实例,随便部署尝试一下就不要这么讲究安全了,还是用密码比较方便
1. 首先上传自己的Linux上已经有的ssh的公钥(在~/.ssh/id_rsa.pub),没有的话生成一个(或者可以生成一个专门用于访问虚拟机的密钥对,登陆时通过ssh -i进行指定),导入openstack
2. 创建虚拟机实例,镜像选择Ubuntu Cloud Image,密钥选择刚刚导入的那个,启动
3. 给虚拟机分配一个浮动Ip,(在已有虚拟网络内,已经有可用的虚拟机在了,就不用分配了,直接通过该实例连接到Ubuntu Cloud Image创建的那个上去即可,当然那台vm上就要有对应的私钥在)
4. (从含有与公钥配对的私钥的机器上)ssh 登陆到用Ubuntu Cloud Image创建的实例,ssh ubuntu@cloud-image-instance-ip-address(镜像含有一个ubuntu的用户)
5. 直接sudo su,可以直接进入root用户模式,看了这个ubuntu默认账户是没有密码的只是不能远程登陆。
6. 修改ssh的配置文件,使其支持密码ssh登陆的方式,打开其配置文件:/etc/ssh/sshd_config
PasswordAuthentication yes
将PasswordAuthentication设为yes,即开启密码验证登陆模式 ,涉及到root用户要修改
PermitRootLogin without-password
一项,默认时不允许的使用密码登陆的,这样也好,反正有sudo权限,使用root还方便,就不用去改了。
7. 最后要重新启动ssh服务,这里要使用service命令,直接用/etc/init.d/ssh restart貌似配置应用不了,是一个坑
service ssh restart