VNC功能的SSL加密关闭不生效问题分析
更新时间: 2026/06/02
在Gitcode上查看源码问题背景
- 单板类型:自研板;
- 软件版本:openUBMC 25.12 LTS;
- 涉及功能:VNC,web;
- 触发条件:于VNC页面关闭SSL加密,打开VNC页面发现仍然是SSL加密连接。
- 业务表现:预期打开VNC页面不是SSL加密连接;实际打开VNC页面仍然是SSL加密连接。
问题复现步骤
基于2512 LTS构建的版本,VNC页面关闭SSL加密,打开VNC页面确认是否未为SSL加密连接。
关键日志信息
web页面确认关闭SSL加密功能:
打开VNC页面,发现仍然是SSL加密连接:
定位过程
- VNC的SSL加密功能基础信息如下 关闭ssl加密不是指不需要输入密码,SSL加密的核心作用是为你的远程操作建立一个安全的“加密通道”,防止数据在传输过程中被窃取或篡改。截图中VNC工具的https协议只是网络交互的协议,无其他功能;
- VNC的SSL加密实际有没有打开的方法如下
- 观察客户端界面与状态栏(最直观):大多数现代VNC Viewer 软件在建立连接后,会在界面上直观地显示加密状态
- 检查连接配置。在发起连接之前或查看服务器设置时,可以通过配置细节来判断:勾选加密选项:在 VNC Viewer 的连接属性或选项菜单中,检查是否勾选了"Use SSL/TLS"或"Encryption"选项。
- 使用网络抓包工具(最准确):已加密 (SSL/TLS)的抓包数据显示为 TLSv1.2 或 TLSv1.3 协议,内容显示为Application Data(应用数据),且数据载荷是不可读的乱码。 推荐通过抓包确认。
- 按照步骤二中的方法测试如下 理论上只要网址栏显示https,其数据包必然是TLSv1.2 或 TLSv1.3 加密的;
- 尝试换一个不涉及https的vnc登录的工具,或者尝试使用wireshark筛选流;
问题原因
通过mobaX创建VNC连接可以看到打开关闭SSL加密的区别。也就是通过web打开VNC的话,因为web连接本身是SSL加密的,所以通过它打开的VNC也强制加密了。
解决方案
通过mobaX创建VNC连接即可。具体测试步骤为关闭VNC页面的SSL加密功能,然后通过mobaX创建VNC连接即可。