0

我正在尝试通过 VncViewer (TigerVnc) 连接 x11vnc 服务器。我正在给出以下命令以使用 -ssl 选项启动 vnc 服务器

$ x11vnc -ssl -rfbauth /home/root/.vnc/passwd 

当我尝试连接 vnc 服务器时,出现TLS 握手失败错误。

以下是 vncserver 日志

07/05/2020 13:25:58 SSL: accept_openssl(OPENSSL_VNC)
07/05/2020 13:25:58 SSL: spawning helper process to handle: 172.21.33.47:64181
07/05/2020 13:25:58 SSL: helper for peerport 64181 is pid 629: 
07/05/2020 13:25:58 connect_tcp: trying:   127.0.0.1 20000
07/05/2020 13:25:59 check_vnc_tls_mode: waited: 1.422183 / 1.40 input: (future) RFB Handshake
07/05/2020 13:26:00 check_vnc_tls_mode: version: 3.8
07/05/2020 13:26:00 check_vnc_tls_mode: reply: 19 (VeNCrypt)
07/05/2020 13:26:00 vencrypt: received 0.2 client version.
07/05/2020 13:26:00 vencrypt: client selected sub-type: 257 (rfbVencryptTlsNone)
07/05/2020 13:26:00 Using Anonymous Diffie-Hellman mode.
07/05/2020 13:26:00 WARNING: Anonymous Diffie-Hellman uses encryption but is
07/05/2020 13:26:00 WARNING: susceptible to a Man-In-The-Middle attack.
07/05/2020 13:26:00 loaded Diffie Hellman 1024 bits, 0.001s
07/05/2020 13:26:00 SSL: ssl_init[629]: 6/6 initialization timeout: 20 secs.
07/05/2020 13:26:01 SSL: ssl_helper[629]: SSL_accept() *FATAL: -1 SSL FAILED
07/05/2020 13:26:01 SSL: error:1417A0C1:SSL routines:tls_post_process_client_hello:no shared cipher
07/05/2020 13:26:01 SSL: ssl_helper[629]: Proto: unknown
07/05/2020 13:26:01 SSL: accept_openssl: cookie from ssl_helper[629] FAILED. 0

这工作正常,没有错误。唯一的变化是 openssl 版本,它从 2018 年 8 月 14 日的 OpenSSL 1.0.2p 更改为 2019 年 9 月 10 日的 OpenSSL 1.1.1d。

我检查了 OpenSSL 1.1.1d 支持 TLSv1.3 和 TigerVNC 支持 TLSv1.2,错误是因为 SSL 版本的版本不匹配吗?

4

1 回答 1

0

我找到了我的问题的解决方案

2020 年 7 月 5 日 13:26:01 SSL:错误:1417A0C1:SSL 例程:tls_post_process_client_hello:没有共享密码

这意味着,客户端和服务器未能找到他们都支持的一组通用密码套件。

07/05/2020 13:26:00 使用匿名 Diffie-Hellman 模式。

2020 年 7 月 5 日 13:26:00 警告:匿名 Diffie-Hellman 使用加密,但

2020 年 7 月 5 日 13:26:00 警告:容易受到中间人攻击。

这表明我在 x11vnc 服务器中使用了基于 ADH 的密码套件,这些密码套件在 1.1.1 的默认安全级别中不可用。在 1.0.2 中情况并非如此。

解决这个问题的方法是降低使用中的安全级别,不要抱怨使用 ADH。

我将 x11vnc 服务器的安全级别从ADH:@STRENGHT 降低ADH:@SECLEVEL=0 并且它起作用了。

于 2020-05-28T08:48:29.750 回答