我可以从家里的 Windows 10 机器连接到 VNC 服务器,但不能从我的 Windows 10 笔记本电脑连接到 VNC 服务器。
在我的家用机器上,我在 WSL 中打开 SSH 隧道以保护 VNC 连接:
ssh -L 59000:localhost:5901 -C -N -l <username> $VNC_IP
并运行 UltraVNC 客户端:
/home/<user>/.vnc/localhost:1.log
连接成功并且服务器上出现以下消息:
31/08/23 08:36:05 Got connection from client 127.0.0.1
31/08/23 08:36:12 rfbProcessClientProtocolVersion: client gone
31/08/23 08:36:12 Client 127.0.0.1 gone
31/08/23 08:36:12 Statistics:
31/08/23 08:36:12 framebuffer updates 0, rectangles 0, bytes 0
Xlib: extension "DPMS" missing on display ":1.0".
但是当我在笔记本电脑上执行相同操作时,我无法连接 UltriVNC 和 TightVNC:
并且/home/<user>/.vnc/localhost:1.log
服务器上的 VNC 日志中没有出现任何消息。
我可以在笔记本电脑和家用机器上telnet
通过 WSL 进行连接:
$ telnet localhost 59000
Trying 127.0.0.1...
Connected to localhost.
Escape character is '^]'.
RFB 003.008
^]
telnet> quit
Connection closed.
我还检查了 SSH 隧道,如下所示:
$ netstat -lpnt
(Not all processes could be identified, non-owned process info
will not be shown, you would have to be root to see it all.)
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
tcp 0 0 127.0.0.1:59000 0.0.0.0:* LISTEN 29880/ssh
tcp6 0 0 ::1:59000 :::* LISTEN 29880/ssh
我的笔记本电脑和家用机器有什么区别?
关闭防火墙没有帮助:
这是否意味着服务器问题?还有什么可以阻止连接?
编辑1
做了如下实验:
在服务器上禁用防火墙:
sudo ufw disable
并且能够从笔记本电脑直接连接到服务器(无需 SSH 隧道):
SSH 隧道是否可能相互冲突?
编辑2
重新启动笔记本电脑后,SSH 隧道开始工作,我能够连接到 VNC 服务器: