Vnc
使用 VNC 訪問伺服器時出現問題
我很茫然,我遵循了https://www.linode.com/docs/applications/remote-desktop/using-vnc-to-operate-a-desktop-on-ubuntu-12-04上的指南配置我的無頭伺服器以允許通過
vnc
. 我還沒有使用任何 ssh 轉發,但只是想直接連接到埠上的伺服器,但5901
我不能,我只收到一條消息,說連接到主機主機名::5901 已關閉,但我可以確認ps ax | grep vnc
我的伺服器正在執行:$ ps ax | grep vnc 21895 ? S 158:03 Xtightvnc :1 -desktop X -auth /home/semios/.Xauthority -geometry 1024x768 -depth 16 -rfbwait 120000 -rfbauth /home/semios/.vnc/passwd -rfbport 5901 -fp /usr/share/fonts/X11/misc/,/usr/share/fonts/X11/Type1/,/usr/share/fonts/X11/75dpi/,/usr/share/fonts/X11/100dpi/ -co /etc/X11/rgb -localhost 22477 pts/5 S+ 0:00 grep --color=auto vnc
並且使用 netstat 我可以確認它正在偵聽埠
5901
:$ netstat -an | grep 5901 tcp 0 0 127.0.0.1:5901 0.0.0.0:* LISTEN
那麼這裡可能有什麼問題?另外,我似乎找不到
Xtightvnc
可能給我更多資訊的日誌文件……如果我連接
$ ssh -p 2200 -X user@server
然後將我的 VNC 客戶端連接到127.0.0.1:5901
我會收到相同的消息連接到主機 127.0.0.1::5901 已關閉。
因為您已經使用參數呼叫了 VNC 伺服器
-localhost
,所以它只接受 localhost 介面上的連接 - 正如127.0.0.1:5901
您的輸出中的條目所確認的那樣netstat
(外部打開的介面將讀取0.0.0.0:5901
)。從Xvnc
手冊頁:-localhost Only allow connections from the same machine. Useful if you use SSH and want to stop non-SSH connections from any other hosts. See the guide to using VNC with SSH on the web site.
在此配置中,您必須通過隧道連接,否則將被拒絕。要通過 SSH 建立隧道,您可以執行以下操作:
ssh -p 2200 -L5901:localhost:5901 user@remotehost -Nf
(這
-Nf
是可選的:它只是將隧道放在後台)然後啟動您的 VNC 客戶端並將其指向隧道端點:詳細資訊將取決於您使用的客戶端,例如vncviewer localhost:1