设置openstack计算节点免ssh密码相互访问

           需求来源:openstack中涉及虚机迁移的相关操作:resize,migration的底层实现依赖ssh命令进行计算节点的相互无障碍访问。

      所以,需要在搭建好openstack环境后,配置所有计算节点间可以ssh无密码相互访问。

      依赖的是nova用户的ssh访问,具体的方法参考:http://www.it165.net/os/html/201505/13247.html

      简单讲就是:

       1.设置/etc/passwd中的nova用户可以使用bash。

        2.su nova 登陆到其所属的命令行

        3.在nova用户下执行ssh-keygen -t rsa生成nova@***的密钥对

        4.相互拷贝 /var/lib/nova/.ssh/下的rsa_id.pub文件到authorized_keys中即可。

     17为控制节点和计算节点共用节点上:nova --debug resize fefe2ba2-69dc-46dc-b337-da2788d94d494
117上的compute日志报错: vim /var/log/nova/compute.log

[instance: b4d33c9d-c8b1-49e4-9f50-91f845d4115f] Setting instance vm_state to ERROR2015-04-22 16:28:22.435 3802 TRACE nova.compute.manager [instance: b4d33c9d-c8b1-49e4-9f50-91f845d4115f] Traceback (most recent call last):2015-04-22 16:28:22.435 3802 TRACE nova.compute.manager [instance: b4d33c9d-c8b1-49e4-9f50-91f845d4115f] File "/usr/lib/python2.6/site-packages/nova/compute/manager.py", line 5531, in _error_out_instance_on_exception2015-04-22 16:28:22.435 3802 TRACE nova.compute.manager [instance: b4d33c9d-c8b1-49e4-9f50-91f845d4115f] yield2015-04-22 16:28:22.435 3802 TRACE nova.compute.manager [instance: b4d33c9d-c8b1-49e4-9f50-91f845d4115f] File "/usr/lib/python2.6/site-packages/nova/compute/manager.py", line 3428, in resize_instance2015-04-22 16:28:22.435 3802 TRACE nova.compute.manager [instance: b4d33c9d-c8b1-49e4-9f50-91f845d4115f] block_device_info)2015-04-22 16:28:22.435 3802 TRACE nova.compute.manager [instance: b4d33c9d-c8b1-49e4-9f50-91f845d4115f] File "/usr/lib/python2.6/site-packages/nova/virt/libvirt/driver.py", line 5059, in migrate_disk_and_power_off2015-04-22 16:28:22.435 3802 TRACE nova.compute.manager [instance: b4d33c9d-c8b1-49e4-9f50-91f845d4115f] utils.execute('ssh', dest, 'mkdir', '-p', inst_base)2015-04-22 16:28:22.435 3802 TRACE nova.compute.manager [instance: b4d33c9d-c8b1-49e4-9f50-91f845d4115f] File "/usr/lib/python2.6/site-packages/nova/utils.py", line 164, in execute2015-04-22 16:28:22.435 3802 TRACE nova.compute.manager [instance: b4d33c9d-c8b1-49e4-9f50-91f845d4115f] return processutils.execute(*cmd, **kwargs)2015-04-22 16:28:22.435 3802 TRACE nova.compute.manager [instance: b4d33c9d-c8b1-49e4-9f50-91f845d4115f] File "/usr/lib/python2.6/site-packages/nova/openstack/common/processutils.py", line 193, in execute2015-04-22 16:28:22.435 3802 TRACE nova.compute.manager [instance: b4d33c9d-c8b1-49e4-9f50-91f845d4115f] cmd=' '.join(cmd))2015-04-22 16:28:22.435 3802 TRACE nova.compute.manager [instance: b4d33c9d-c8b1-49e4-9f50-91f845d4115f] ProcessExecutionError: Unexpected error while running command.2015-04-22 16:28:22.435 3802 TRACE nova.compute.manager [instance: b4d33c9d-c8b1-49e4-9f50-91f845d4115f] Command: ssh 192.168.10.114 mkdir -p /var/lib/nova/instances/b4d33c9d-c8b1-49e4-9f50-91f845d4115f2015-04-22 16:28:22.435 3802 TRACE nova.compute.manager [instance: b4d33c9d-c8b1-49e4-9f50-91f845d4115f] Exit code: 2552015-04-22 16:28:22.435 3802 TRACE nova.compute.manager [instance: b4d33c9d-c8b1-49e4-9f50-91f845d4115f] Stdout: ''2015-04-22 16:28:22.435 3802 TRACE nova.compute.manager [instance: b4d33c9d-c8b1-49e4-9f50-91f845d4115f] Stderr: 'Host key verification failed.\r\n'2015-04-22 16:28:22.435 3802 TRACE nova.compute.manager [instance: b4d33c9d-c8b1-49e4-9f50-91f845d4115f]2015-04-22 16:28:22.818 3802 ERROR oslo.messaging.rpc.dispatcher [-] Exception during message handling: Unexpected error while running command.Command: ssh 192.168.10.114 mkdir -p /var/lib/nova/instances/b4d33c9d-c8b1-49e4-9f50-91f845d4115fExit code: 255Stdout: ''Stderr: 'Host key verification failed.\r\n'2015-04-22 16:28:22.818 3802 TRACE oslo.messaging.rpc.dispatcher Traceback (most recent call last):


上述错误说明117上用nova用户执行下述命令有错误:
ssh 192.168.10.114 mkdir -p /var/lib/nova/instances/b4d33c9d-c8b1-49e4-9f50-91f845d4115f

看一下117的用户文件:vim /etc/passwd
其中
nova:x:162:162:OpenStack Nova Daemons:/var/lib/nova:/sbin/nologin
上述信息具体解释请自行查找linuxpasswd相关资料。
此处将nova修改为能够登录的用户:
nova:x:162:162:OpenStack Nova Daemons:/var/lib/nova:/bin/bash


ssh-keygen -t rsa

然后再将生成的文件scp到114节点:
scp /var/lib/nova/.ssh/id_rsa.pub root@192.168.10.114:/var/lib/nova/.ssh/authorized_keys
如果报对端没有/var/lib/nova/.ssh/文件,请用nova用户给该机器创建该文件夹

然后再nova下面执行:ssh 192.168.10.114 报错说当前账户不可用。
登录到114上面查看:
发现nova用户被禁止登录了。
打开:
再次到117上执行发现能登录了:
注意.ssh的所属组和用户必须为root:root,否则无密码登录会失败
再次来验证resize:
成功!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值