[发明专利]一种解决虚拟化软件库libvirt的ssh连接验证的方法在审
申请号: | 201310056675.3 | 申请日: | 2013-02-22 |
公开(公告)号: | CN103136026A | 公开(公告)日: | 2013-06-05 |
发明(设计)人: | 闫冬冬 | 申请(专利权)人: | 浪潮电子信息产业股份有限公司 |
主分类号: | G06F9/445 | 分类号: | G06F9/445;H04L29/08;H04L29/06 |
代理公司: | 暂无信息 | 代理人: | 暂无信息 |
地址: | 250014 山东*** | 国省代码: | 山东;37 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 解决 虚拟 软件 libvirt ssh 连接 验证 方法 | ||
技术领域
本发明涉及虚拟化技术领域,具体地说是一种解决虚拟化软件库libvirt的ssh连接验证的方法。
背景技术
随着云计算的快速发展,越来越多的厂商开始参与到该领域中。因为底层的技术比较复杂,而且已经比较成熟,这时候再去开发底层虚拟化技术没有优势,也没有人力物力。故大多数厂商选择了平台集成以及管理。因为竞争激烈,故越快的能够成形并发布,就能够抢占更多的市场份额。这时更多的选择开源的libvirt进行底层虚拟化管理支持,来集成多平台虚拟支持。
在云计算的管理软件开发中,不少的软件底层都选择了libvirt来进行虚拟机管理,因为libvirt可以管理多平台的虚拟机,如xen,vmware等。在一个快速成型的云管理系统中,底层管理软件首选libvirt。
使用libvirt进行虚拟机管理时,因为需要跨节点管理,故需要建立一个libvirt连接。连接方式有多种,其中一种是使用ssh协议进行连接。但是使用ssh协议连接时,需要用户名和密码,这是一个比较繁琐的过程,需要记录所有节点服务器的用户名和密码,增加一定的工作量,而且云环境中的管理节点和计算节点应该是可以互通的,属于相互信任的,云环境的安全应该由一个整体的外壳来控制,那么内部节点的ssh认证就无足轻重了。即使撇开上面的原因,建立ssh连接时还有个致命的问题,那就是第一次进行连接时,ssh会进行询问是否进行连接,这时需要管理员手动进行确认。libvirt的API连接没有这种响应机制,无法返回这种行为给管理员进行确认,这时就会导致libvirt连接失败。所以需要一种方法可以解决ssh连接验证问题。当然最简单也是最繁琐就是管理员在管理节点对每个计算节点执行ssh指令,手动确认一遍,然后在管理系统中记录所有的节点的用户名和密码。
这里介绍一种方法,通过ssh的公钥验证机制绕过密码验证。我们这里的解决方案是通过代理来实现公钥验证机制。
发明内容
本发明的目的是提供一种解决虚拟化软件库libvirt的ssh连接验证的方法。主要是解决管理节点和计算节点之间的ssh验证。这里需要利用ssh的公钥和密钥机制,配合代理来实现。
本发明的目的是按以下方式实现的,具体实施步骤如下:
a. 首先需要在部署环境的时候,在每个计算节点上安装一个代理,并运行该代理;
b. 在管理节点需做如下实现:
1)首先检测本地是否已经创建公钥和密钥,若没有则使用ssh-keygen命令创建一个无密码验证公钥和密钥;
2)使用ssh-keyscan指令获取目标计算节点的主机公钥,该公钥不是用户创建的,而是ssh自动生成的一个主机标识符,检测know_hosts文件中是否包含此公钥,若没有则添加进去;
3)将首步中创建的公钥发送至计算节点代理;
c.在计算节点需做如下实现:
接收管理节点发送过来的公钥并将其保存至authorized_keys文件中;
通过以上步骤,实现了虚拟化软件库libvirt的ssh连接验证,libvirt或者ssh进行管理节点至计算节点的连接时不会再弹出提示,也无需再输入密码,这些操作提高了管理软件的自动化流程,无需部署人员太多的人工操作,降低了失误率,同时也为以后的后台管理提供了方便。
本发明的有益效果是:该方案有效地解决了云计算虚拟化底层管理中libvirt的ssh连接验证问题,减少了人工操作,使其可以更好地进行管控,降低软件环境出现问题的不确定性可以有效地降低系统部署的难度,减少部署人员的工作,维护人员定位问题也方便了许多。
具体实施方式
实施步骤如下:
a首先需要在部署环境的时候,在每个计算节点上安装一个代理,并运行该代理;
b在管理节点需做如下实现:
1)首先检测本地是否已经创建公钥和密钥,若没有则使用ssh-keygen命令创建一个无密码验证公钥和密钥;
2)使用ssh-keyscan指令获取目标计算节点的主机公钥(不同于上面创建的公钥,该公钥不是用户创建的,而是ssh自动生成的一个主机标识符),检测know_hosts文件中是否包含此公钥,若没有则添加进去;
3)将首步中创建的公钥发送至计算节点代理;
c在计算节点需做如下实现:
1)接收管理节点发送过来的公钥并将其保存至authorized_keys文件中。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于浪潮电子信息产业股份有限公司,未经浪潮电子信息产业股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201310056675.3/2.html,转载请声明来源钻瓜专利网。