【OpenStack】对接FusionCompute时无法使用noVNC登录访问所创建的虚拟机

【问题现象】

OpenStack Kiko版本对接华为FusionCompute,通过界面创建的虚拟机使用控制台打开,提示Authentication fail

【问题分析】

从提示的信息看,vnc在握手成功后,验证密码时失败,通过浏览器的F12工具可以确认这点。

查看虚拟机所在的CNA节点,分析虚拟机日志

/var/log/xen/qemu-dm-i-00000093.log

[2013-07-13 12:09:04] New client on socket 28

[2013-07-13 12:09:04] vnc_set_share_mode/28: undefined -> connecting

[2013-07-13 12:09:04] Set the controller(type:1) of qemu_timer_mode 2........

[2013-07-13 12:09:04] the controller(type:1) frame freq is 200........

[2013-07-13 12:09:04] Client request protocol version 3.8

[2013-07-13 12:09:04] Telling client we support auth 2

[2013-07-13 12:09:04] Client requested auth 2

[2013-07-13 12:09:04] Start VNC auth

[2013-07-13 12:09:04] Client challenge response did not match

[2013-07-13 12:09:04] Closing down client sock: protocol error

[2013-07-13 12:09:04] vnc_set_share_mode/28: connecting -> disconnected

[2013-07-13 12:09:04] Unset the controller(type:1) of qemu_timer_mode 2........

也可以看到在启动验证后提示不匹配。

但是通过FusionCompute Portal的vnc控制台可以访问虚拟机。查询虚拟机的信息可以发现虚拟机设置了vncPassword,所以导致无法访问虚拟机。

分析vnc的源码可以发现,原生的vnc密码加密采用的DES,而FC的vnc加密算法使用的是sha256.

【解决方法】

使用sha256加密虚拟机的vnc密码即可访问虚拟机


你可能感兴趣的:(【OpenStack】对接FusionCompute时无法使用noVNC登录访问所创建的虚拟机)