SSH 터널을 통한 VNC 작동 여부, 알 수 없는 원인

SSH 터널을 통한 VNC 작동 여부, 알 수 없는 원인

두 대의 컴퓨터 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 터널을 통해)을 시도할 때도 마찬가지입니다.

ㅏ.이 문제를 어떻게 해결할 수 있나요?


Win10이 설치된 또 다른 PC3이 있고 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. 설정된 비밀번호를 묻는 메시지가 표시됩니다.설정->나누는->화면 공유. 해당 비밀번호를 입력하면인증 실패.

비.이 문제를 어떻게 해결할 수 있나요?


다음 정보가 유용할 수 있습니다. 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에서도 마찬가지입니다.

관련 정보