我在两台计算机 PC1 和 PC2 上安装了 Ubuntu 20.04.3。我可以通过 VNC(remmina)在两者之间进行连接,没有任何问题。
现在我尝试通过 SSH 隧道使用 VNC。
设置隧道
[PC1]$ ssh -L 5900:localhost:5900 [email protected] bind [127.0.0.1]:5900: Address already in use channel_setup_fwd_listener_tcpip: cannot listen to port: 5900 Could not request local forwarding. Welcome to Ubuntu 20.04.3 LTS (GNU/Linux 5.11.0-41-generic x86_64) ...
在 Remmina 中,使用协议 Remmina VNC 插件(与非隧道连接相同)连接到
localhost:5900
。系统要求我输入在设置->分享->屏幕共享。我输入该密码,然后我得到无法验证,正在尝试重新连接...。
尝试 PC2 -> PC1(通过 SSH 隧道)时也会发生同样的情况。
A。我怎样才能解决这个问题?
我有另一台 PC3,装有 Win10,我想使用 tigervnc 从 PC3 到 PC1/2 进行 VNC。我也可以毫无问题地做到这一点。
现在我尝试通过 SSH 隧道使用 VNC。我可以使用 PC3 中的 mingw64 提示符,从 PC3 到 PC1,
在 mingw64 bash 提示符中,
[PC3]$ ssh -L 5900:localhost:5900 [email protected] bind [127.0.0.1]:5900: Address already in use channel_setup_fwd_listener_tcpip: cannot listen to port: 5900 Could not request local forwarding. Welcome to Ubuntu 20.04.3 LTS (GNU/Linux 5.11.0-41-generic x86_64) ...
在 tigervnc 中,连接到
localhost:5900
。系统要求我输入在设置->分享->屏幕共享。我输入该密码,并且在 PC3 中已经出现了 VNC 屏幕。
如果我尝试对 PC3 -> PC2 执行相同操作,我会得到
在 mingw64 bash 提示符中,
[PC3]$ ssh -L 5900:localhost:5900 [email protected] bind [127.0.0.1]:5900: Address already in use channel_setup_fwd_listener_tcpip: cannot listen to port: 5900 Could not request local forwarding. Welcome to Ubuntu 20.04.3 LTS (GNU/Linux 5.11.0-41-generic x86_64) ...
在 tigervnc 中,连接到
localhost:5900
。系统要求我输入在设置->分享->屏幕共享。我输入该密码,然后我得到验证失败。
B.我怎样才能解决这个问题?
以下信息可能有用:在 PC1 中,我有
$ gsettings list-recursively org.gnome.Vino
org.gnome.Vino prompt-enabled false
org.gnome.Vino require-encryption false
org.gnome.Vino use-alternative-port false
org.gnome.Vino disable-background false
org.gnome.Vino disable-xdamage false
org.gnome.Vino alternative-port uint16 5900
org.gnome.Vino icon-visibility 'client'
org.gnome.Vino authentication-methods ['vnc']
org.gnome.Vino network-interface ''
org.gnome.Vino notify-on-connect true
org.gnome.Vino mailto ''
org.gnome.Vino lock-screen-on-disconnect false
org.gnome.Vino use-upnp false
org.gnome.Vino vnc-password '<12-char string>'
org.gnome.Vino view-only false
在 PC2 中,我也有同样的情况,除了
org.gnome.Vino vnc-password 'keyring'
当我尝试设置密码时设置->分享->屏幕共享,我被限制为 8 个字符,这不是我遇到的常见情况。
答案1
我修复了 PC1 和 PC2 之间的差异,这导致
PC3 -> PC1 (SSH tunnel): OK
PC3 -> PC2 (SSH tunnel): Failed
在/etc/ssh/sshd_config
PC2 中,出于安全原因,我之前已经设置了AllowTcpForwarding no
。注释掉那行,我就可以连接了。
然后我修复了 PC1 -> PC2 的 SSH 隧道
设置隧道
[PC1]$ ssh -L 5900:localhost:5900 [email protected] Welcome to Ubuntu 20.04.3 LTS (GNU/Linux 5.11.0-41-generic x86_64) ...
在 remmina 中,使用协议 Remmina VNC 插件(与非隧道连接相同)连接到 localhost:5902。系统要求我输入在设置->分享->屏幕共享。我输入该密码,然后就得到了远程桌面。
PC2 -> PC1 也一样。