从 Ubuntu(ssvncviewer、gvncviewer)连接到 Raspberry Pi 4 wayvnc 服务器?

从 Ubuntu(ssvncviewer、gvncviewer)连接到 Raspberry Pi 4 wayvnc 服务器?

我得到了一个 Raspberry Pi 4,但我没有自己设置;它报告:

pi@raspberry:~ $ cat /etc/issue
Debian GNU/Linux 12 \n \l

pi@raspberry:~ $ lsb_release -a
No LSB modules are available.
Distributor ID: Debian
Description:    Debian GNU/Linux 12 (bookworm)
Release:    12
Codename:   bookworm

pi@raspberry:~ $ uname -a
Linux raspberrypi 6.1.0-rpi4-rpi-v8 #1 SMP PREEMPT Debian 1:6.1.54-1+rpt2 (2023-10-05) aarch64 GNU/Linux

pi@raspberry:~ $ ps axf | grep vnc
   1996 pts/0    S+     0:00              \_ grep --color=auto vnc
   1057 ?        SLl    0:00 /usr/bin/wayvnc --render-cursor --keyboard=us

所以,显然有一个wayvnc服务器正在其上运行。

我尝试从我的 Ubuntu 机器连接到它,但无法连接。我在网上发现通过 ssh 连接转发 VNC 端口是个好主意,所以我在我的 Ubuntu 笔记本电脑上首先执行了以下操作:

user@laptop:~$ ssh -L 5903:localhost:5900 [email protected]

...这样我就可以连接到localhost:3VNC 地址而不是192.168.1.248:0- 但这没有帮助。

我的 Ubuntu 笔记本电脑报告:

user@laptop:~$ cat /etc/issue
Ubuntu 22.04.3 LTS \n \l

user@laptop:~$ lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description:    Ubuntu 22.04.3 LTS
Release:    22.04
Codename:   jammy


user@laptop:~$ gvncviewer localhost:3
Connected to server
Got credential request for 1 credential(s)
Error: The certificate is not trusted
Disconnected from server


user@laptop:~$ ssvncviewer localhost:3

Proto: RFB 003.008

Connected to RFB server, using protocol version 3.8

SelectSecurityType:
  sec-type[0]   19  (rfbSecTypeVencrypt)
Server did not offer supported security type:
 sectype[0] 19  (rfbSecTypeVencrypt)
  info: To connect to 'VeNCrypt SSL/TLS' you must use the SSVNC GUI
  info: or the ssvnc_cmd wrapper script with the correct cmdline arguments.
Security-Type:   0  (rfbSecTypeInvalid)  Latency: 5.90 ms

2023/12/01 11:20:45 VNC Viewer exiting.

所以:

  • 我不知道如何实现“要连接到‘VeNCrypt SSL/TLS’,您必须使用 SSVNC GUI 或 ssvnc_cmd 包装器脚本以及正确的命令行参数。”:

如果我只是输入ssvnc(我假设是“SSVNC GUI”),我唯一能做的就是输入以下内容:

ssvnc

... 当我单击“连接”时,出现“警告:获取服务器证书时出错:从 localhost:3 获取 SSL 证书时发生错误”:

ssvnc_错误

  • 我不知道在哪里可以找到这个“ssvnc_cmd 包装脚本”——我的 Ubuntu 机器只是说:
user@laptop:~$ ssvnc_cmd
ssvnc_cmd: command not found

...但即使我找到了它,我应该使用什么选项?

那么,如何在 Raspberry Pi 4(wayvnc)上设置 VNC 服务器,或者在我的 Ubuntu 机器上设置 VNC 客户端(ssvncgvncviewer),这样我就可以直接连接并使用本地网络上的 VNC 连接,而不必担心根证书的服务器,或者这些错误消息所抱怨的任何内容?


编辑:vinagre,使用以下设置:

vinagre设置

...我首先得到的是:

Error creating the ssh tunnel

Permission denied

...然后,重新进入主机设置后,我终于收到提示:

vinagre 提示

...在我输入正确的密码并点击验证后,我得到:

Connection closed.

Connection to host 192.168.X.X was closed.

vinagre 连接已关闭

如果我没有选中“使用主机...作为 SSH 隧道”,而只是使用主机中的 IP 地址(仍然使用协议:VNC),我会立即收到“连接关闭”的消息,而不会提示任何密码。

所以问题仍然悬而未决——如何与这台 Raspberry Pi 4(带有 Debian 12 bookworm)建立 VNC 连接?

答案1

如果服务器启用了 TLS,请使用支持 TLS 的 VNC 客户端。

TigerVNC 就是这样一个客户端,Vinagre 是另一个。我相信两者都是由 Ubuntu 提供的。

答案2

最终对我有用的是 TigerVNC;安装方式:

sudo apt install tigervnc-viewer

xtigervncviewer 192.168.X.Y然后我通过命令行运行它:

$ xtigervncviewer 192.168.X.Y

TigerVNC Viewer 64-bit v1.12.0
Built on: 2022-03-25 17:06
Copyright (C) 1999-2021 TigerVNC Team and many others (see README.rst)
See https://www.tigervnc.org for information on TigerVNC.

Thu Dec  7 17:16:35 2023
 DecodeManager: Detected 2 CPU core(s)
 DecodeManager: Creating 2 decoder thread(s)
 CConn:       Connected to host 192.168.X.Y port 5900
 CConnection: Server supports RFB protocol version 3.8
 CConnection: Using RFB protocol version 3.8
 CConnection: Choosing security type VeNCrypt(19)
 CVeNCrypt:   Choosing security type X509Plain (262)
 TLS:         Could not load user specified certificate authority
 TLS:         Could not load user specified certificate revocation list

首先我得到一个屏幕,“主机名(192.168.XY)与服务器证书不匹配,您要继续吗?”:

tigervnc-服务器证书屏幕

单击“是”后,出现“未知证书颁发者”窗口,最终询问“您是否要为此服务器设置例外?”

tightvnc-未知发行人

请注意,xtigervncviewer将此服务器(证书?)保存为客户端计算机上的文件中条目~/.vnc/x509_known_hosts- 因此下次尝试连接时,将不会显示“未知证书颁发者”窗口。

单击“是”后,我将看到 VNC 身份验证窗口:

tigervnc-身份验证窗口

输入我的 Raspberry Pi 4 的 SSH 用户名/密码后,我终于获得了 Raspberry Pi 4 Debuian 12 桌面的 VNC 连接。

相关内容