如何修复 x11vnc 上的 SSL 握手错误

如何修复 x11vnc 上的 SSL 握手错误

TLDR:有没有办法通过使用配置文件(x11vnc 支持)或者通过在用于启动 VNC 的终端行上添加一些命令来将 ADH 更改ADH:@STRENGTH为(见下文)?ADH:@SECLEVEL=0

我正在尝试通过 vnc 与我的服务器建立有效的加密连接。我使用的是 x11vnc 0.9.16。我正在运行 Ubuntu 21.04。当我尝试通过该命令运行它时:

sudo /usr/bin/x11vnc -auth guess -forever -loop -noxdamage -repeat -rfbauth /home/fairbanks/.vnc/passwd -rfbport 5903 -shared -ssl

我收到此错误:

27/02/2022 03:38:12 SSL: accept_openssl(OPENSSL_VNC)  
27/02/2022    03:38:12 SSL: spawning helper process to handle: 192.168.3.30:51494    
27/02/2022 03:38:12 SSL: helper for peerport 51494 is pid 19343:    
27/02/2022 03:38:12 connect_tcp: trying: 127.0.0.1 20000

27/02/2022    03:38:13 check_vnc_tls_mode: waited: 1.418020 / 1.40 input: (future)    RFB Handshake  
27/02/2022 03:38:14 check_vnc_tls_mode: version: 3.8
27/02/2022 03:38:14 SSL: ssl_helper[19343]: exit case 2 (ssl_init    failed)  
27/02/2022 03:38:14 SSL: accept_openssl: cookie from    ssl_helper[19343] FAILED.

在 Windows 上的 vnc 查看器中,当我尝试连接时,它会抛出某种安全级别错误。

根据我的研究,似乎该-ssl选项使用 openssl 来工作,我的 openssl 版本是 1.1.11。从我在 Google 上搜索的内容来看,它与冲突的默认选项有关。似乎在某个地方,我必须将 更改为ADH:@STRENGTHADH:@SECLEVEL=0正如在这些链接中看到的那样:

https://github.com/vishnumotghare/x11vnc/blob/master/src/sslhelper.c https://githubmemory.com/repo/LibVNC/x11vnc/issues/129

但我无论如何也找不到在哪里可以做到这一点。从第一个链接来看,我认为在编译 x11vnc 时可能需要这样做。而且我不知道该怎么做,因为即使我实现了编译它的目标,我自己这样做也可能会给我带来很多新的错误,因为我根本不知道自己在那种情况下在做什么。

我还在这里发现了: https://manpages.ubuntu.com/manpages/bionic/man1/x11vnc.1.html

即:“配置文件支持:如果文件 $HOME/.x11vncrc 存在,则其中的每一行都被视为单个命令行选项。”所以我想知道是否有办法在 ADH 上进行该更改,方法是使用该配置文件支持,或者在用于启动 VNC 的终端行上添加一些命令。如果可以,我该怎么做?

相关内容