System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 一种实现openstack虚机VNC身份认证的方法技术_技高网

一种实现openstack虚机VNC身份认证的方法技术

技术编号:40428784 阅读:4 留言:0更新日期:2024-02-20 22:50
本发明专利技术涉及云计算IAAS技术领域,具体为一种实现openstack虚机VNC身份认证的方法,包括以下步骤:用户通过调用api设置、修改虚机vnc密码、设置密码有效时长;将vnc密码存入数据库中,虚机重启、迁移时,虚机从数据库中获取之前设置的vnc密码;有益效果为:本发明专利技术提出的实现openstack虚机VNC身份认证的方法,通过VNC登录时,需要先输入密码进行身份验证,增加了VNC安全性,可以对不合法访问者可以有效隔绝;用户可决定是否启用VNC密码身份认证,灵活性较高;用户设置的VNC密码被固化,保存在数据库中,不易丢失;VNC密码的密文存储、DES加密与密码时效性的设置保证密码本身不易被泄露;部分复用原代码逻辑的接口、数据表,利于环境的更新、升级,具备良好的拓展性。

【技术实现步骤摘要】

本专利技术涉及云计算iaas,具体为一种实现openstack虚机vnc身份认证的方法。


技术介绍

1、novnc是一个html5 vnc客户端,采用html 5websockets,canvas和javascript实现,novnc被普遍用在各大云计算、虚拟机控制面板中,比如openstack dashboard。novnc无法直接连接vnc server,在openstack的使用场景中,需要经过novncproxy的代理。

2、现有技术中,rfb(远程帧缓冲)协议是一个用于远程访问图形用户接口的简单协议,适用于所有的桌面系统和应用,是基于tcp的一个应用层协议,通常用于vnc连接;vnc(virtual network computer)是虚拟网络计算机的缩写,基本上是属于一种显示系统,也就是说它能将完整的窗口界面通过网络,传输到另一台计算机的屏幕上。在openstack的使用场景中,qemu会为虚机启动一个vnc server,以一定的频率默认是(30ms)从虚机网卡的显存中拿出显示的信息,当有vnc client连接上以后,定期的发送给vnc client(这里我们讨论的是novnc)就可以了;通过vnc查看虚拟机的console是用户访问虚机的一种常见方式,通过调用”remote_console”的接口,获取到一个携带token的链接,用户可通过该链接直接访问虚机的console,这是现在openstack虚拟化平台中,用户使用虚机资源的一种场景;在nova中,novnc client连接虚机使用的rfb协议,该协议主要分为握手,协商安全类型,认证,初始化消息等一系列过程。当前版本openstack中,已经实现的vnc认证类型有none和vencrypt。因为qemu已经支持vnc passwd的认证方式,为了在认证这一过程中加入密码认证,现在需要在nova-novncproxy中引入vnc的认证方式。

3、但是,对于现在的虚机vnc console访问方式,在安全性方面存在一些不足,主要体现在:任何人获得novnc console url都可以访问指定的vm,当前openstack虚拟平台中,novnc对不合法的访问者缺乏保护措施,我们需要对novnc控制台增加一种身份认证的方法。


技术实现思路

1、本专利技术的目的在于提供一种实现openstack虚机vnc身份认证的方法,以解决上述
技术介绍
中提出的问题。

2、为实现上述目的,本专利技术提供如下技术方案:一种实现openstack虚机vnc身份认证的方法,所述方法包括以下步骤:

3、用户通过调用api设置、修改虚机vnc密码、设置密码有效时长;

4、将vnc密码存入数据库中,虚机重启、迁移时,虚机从数据库中获取之前设置的vnc密码;

5、nova-ap调用nova-compute中设置、修改vnc密码的方法,nova-compute调用libvirt驱动,修改虚机xml文件;

6、设置默认vnc密码;

7、vnc进行三方认证时,实现对默认密码的屏蔽;在起用密码认证时,传输密码校验请求的过程将会对密码进行des加密操作。

8、优选的,虚机vnc密码的启用以及修改,由用户自主决定,启用vnc密码,不会影响其他虚机,在原有接口基础上拓展,没有新增接口,具有较好的易用性。

9、优选的,将vnc密码存入数据库中,将密码固化在数据库中,有效防止虚机在涉及重构xml文件时丢失vnc密码配置,存入instance_system_metadata表中。

10、优选的,调用libvirt驱动修改xml文件,增加passwd标签,适用于使用libvirt后端的openstack环境。

11、优选的,设置默认密码是为了实现虚机vnc密码认证的热启用与热修改,虚机在启动时,将读取到的默认密码时,在xml文件中配置一个占位的“passwd”标签。

12、优选的,vnc进行三方认证时,实现对默认密码的屏蔽,在设置了默认密码是,vncserver中vnc密码功能其实是开启的,因此需要将默认密码屏蔽;为了屏蔽默认密码,客户端与代理端使用none的认证,然后用代理端和服务端进行vnc认证,返回认证完的socket,这样在用户未主动调用api开启vnc认证时,将不会在访问虚机console时被要求输入vncconsole密码。

13、与现有技术相比,本专利技术的有益效果是:

14、本专利技术提出的实现openstack虚机vnc身份认证的方法,通过vnc登录时,需要先输入密码进行身份验证,增加了vnc安全性,可以对不合法访问者可以有效隔绝;用户可决定是否启用vnc密码身份认证,灵活性较高;用户设置的vnc密码被固化,保存在数据库中,不易丢失;vnc密码的密文存储、des加密与密码时效性的设置保证密码本身不易被泄露;部分复用原代码逻辑的接口、数据表,利于环境的更新、升级,具备良好的拓展性。

本文档来自技高网...

【技术保护点】

1.一种实现openstack虚机VNC身份认证的方法,其特征在于:所述方法包括以下步骤:

2.根据权利要求1所述的一种实现openstack虚机VNC身份认证的方法,其特征在于:虚机vnc密码的启用以及修改,由用户自主决定,启用vnc密码,不会影响其他虚机,在原有接口基础上拓展,没有新增接口,具有较好的易用性。

3.根据权利要求1所述的一种实现openstack虚机VNC身份认证的方法,其特征在于:将vnc密码存入数据库中,将密码固化在数据库中,有效防止虚机在涉及重构xml文件时丢失vnc密码配置,存入instance_system_metadata表中。

4.根据权利要求1所述的一种实现openstack虚机VNC身份认证的方法,其特征在于:调用libvirt驱动修改xml文件,增加passwd标签,适用于使用libvirt后端的openstack环境。

5.根据权利要求1所述的一种实现openstack虚机VNC身份认证的方法,其特征在于:设置默认密码是为了实现虚机vnc密码认证的热启用与热修改,虚机在启动时,将读取到的默认密码时,在xml文件中配置一个占位的“passwd”标签。

6.根据权利要求1所述的一种实现openstack虚机VNC身份认证的方法,其特征在于:vnc进行三方认证时,实现对默认密码的屏蔽,在设置了默认密码是,vnc server中vnc密码功能其实是开启的,因此需要将默认密码屏蔽;为了屏蔽默认密码,客户端与代理端使用NONE的认证,然后用代理端和服务端进行VNC认证,返回认证完的socket,这样在用户未主动调用api开启VNC认证时,将不会在访问虚机console时被要求输入vnc console密码。

...

【技术特征摘要】

1.一种实现openstack虚机vnc身份认证的方法,其特征在于:所述方法包括以下步骤:

2.根据权利要求1所述的一种实现openstack虚机vnc身份认证的方法,其特征在于:虚机vnc密码的启用以及修改,由用户自主决定,启用vnc密码,不会影响其他虚机,在原有接口基础上拓展,没有新增接口,具有较好的易用性。

3.根据权利要求1所述的一种实现openstack虚机vnc身份认证的方法,其特征在于:将vnc密码存入数据库中,将密码固化在数据库中,有效防止虚机在涉及重构xml文件时丢失vnc密码配置,存入instance_system_metadata表中。

4.根据权利要求1所述的一种实现openstack虚机vnc身份认证的方法,其特征在于:调用libvirt驱动修改xml文件,增加passwd标签,适用于使用...

【专利技术属性】
技术研发人员:赖振谢涛涛宋伟赵益鑫尹萍
申请(专利权)人:浪潮云信息技术股份公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1