VNC 通过 SSH 隧道工作不正常,原因不明

VNC 通过 SSH 隧道工作不正常,原因不明

我在两台计算机 PC1 和 PC2 上安装了 Ubuntu 20.04.3。我可以通过 VNC(remmina)在两者之间进行连接,没有任何问题。

现在我尝试通过 SSH 隧道使用 VNC。

  1. 设置隧道

     [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)
     ...
    
  2. 在 Remmina 中,使用协议 Remmina VNC 插件(与非隧道连接相同)连接到localhost:5900。系统要求我输入在设置->分享->屏幕共享。我输入该密码,然后我得到无法验证,正在尝试重新连接...

尝试 PC2 -> PC1(通过 SSH 隧道)时也会发生同样的情况。

A。我怎样才能解决这个问题?


我有另一台 PC3,装有 Win10,我想使用 tigervnc 从 PC3 到 PC1/2 进行 VNC。我也可以毫无问题地做到这一点。

现在我尝试通过 SSH 隧道使用 VNC。我可以使用 PC3 中的 mingw64 提示符,从 PC3 到 PC1,

  1. 在 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)
    ...
    
  2. 在 tigervnc 中,连接到localhost:5900。系统要求我输入在设置->分享->屏幕共享。我输入该密码,并且在 PC3 中已经出现了 VNC 屏幕。

如果我尝试对 PC3 -> PC2 执行相同操作,我会得到

  1. 在 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)
    ...
    
  2. 在 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_configPC2 中,出于安全原因,我之前已经设置了AllowTcpForwarding no。注释掉那行,我就可以连接了。


然后我修复了 PC1 -> PC2 的 SSH 隧道

  1. 设置隧道

     [PC1]$ ssh -L 5900:localhost:5900 [email protected]
     Welcome to Ubuntu 20.04.3 LTS (GNU/Linux 5.11.0-41-generic x86_64)
     ...
    
  2. 在 remmina 中,使用协议 Remmina VNC 插件(与非隧道连接相同)连接到 localhost:5902。系统要求我输入在设置->分享->屏幕共享。我输入该密码,然后就得到了远程桌面。

PC2 -> PC1 也一样。

相关内容