SSH トンネル経由の VNC が機能しているかどうか、原因は不明

SSH トンネル経由の VNC が機能しているかどうか、原因は不明

2 台のコンピューター PC1 と PC2 に Ubuntu 20.04.3 がインストールされています。2 台の間では 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.これをどうすれば修正できますか?


私はもう 1 台の PC3 を持っており、Win10 を使用しています。tigervnc を使用して、PC3 から PC1/2 の両方に VNC で接続したいと考えています。これも問題なく実行できます。

今、SSHトンネル経由でVNCを使ってみます。PC3 -> PC1で、PC3のmingw64プロンプトを使って、

  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

PC2では/etc/ssh/sshd_config、セキュリティ上の理由から事前に設定していましたAllowTcpForwarding no。その行をコメントアウトすると接続できました。


次にSSHトンネルPC1 -> PC2を修正しました

  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も同様です。

関連情報