System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本专利技术涉及云计算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
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密码认证的热启用与热修改,虚机在启动时,将读取到的默认密
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标签,适用于使用...
【专利技术属性】
技术研发人员:赖振,谢涛涛,宋伟,赵益鑫,尹萍,
申请(专利权)人:浪潮云信息技术股份公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。