這是一個常見的問題,也是一個常見的問題。然而,這些解決方案對我不起作用,所以我需要一些幫助來找出為什麼不起作用。我知道我過去已經成功地做到了這一點。
我看過: 透過 SSH 連接的 VNC 隧道
http://crl.ucsd.edu/handbook/vnc/
http://martybugs.net/smoothwall/puttyvnc.cgi
我的 PUTTY 配置如下:
我打開與 serverA 的連線。然後
ssh -L 5901:localhost:5901 serverB
登入後,我啟動 VNC 會話
-bash-4.1$ vncserver :1
New 'serverB:1 (balter)' desktop is serverB:1
Starting applications specified in /home/users/balter/.vnc/xstartup
Log file is /home/users/balter/.vnc/serverB:1.log
-bash-4.1$
我應該很好去,所以我嘗試使用 VNClocalhost
或localhost:0
或localhost:5900
。連線失敗。
建議?
編輯:我應該補充一點,serverB 在防火牆後面,所以我需要使用 serverA 作為中介。
編輯2——基於尼基塔的評論:netstat -inpt
serverB 上 的輸出
-bash-4.1$ netstat -inpt
Kernel Interface table
Iface MTU Met RX-OK RX-ERR RX-DRP RX-OVR TX-OK TX-ERR TX-DRP TX-OVR Flg
bond0 1500 0 25034847553 0 0 0 0 0 0 0 BMmRU
eth0 1500 0 7645087 0 0 0 148398 0 0 0 BMRU
eth4 1500 0 10494292891 0 0 0 0 0 0 0 BMsRU
eth5 1500 0 10644409020 0 0 0 0 0 0 0 BMRU
eth6 1500 0 14540554669 0 0 0 0 0 0 0 BMsRU
ib0 1500 0 5055 0 0 0 4267 0 1 0 BMRU
lo 65536 0 8932391289 0 0 0 8932391289 0 0 0 LRU
-bash-4.1$
我該如何解釋這一點?
答案1
您是否忘記單擊螢幕截圖對話框中的“添加”按鈕,以實際將前向規範添加到列表中?
您確定您最新的遠端伺服器使用的是 5901 嗎?看起來應該是這樣,但在執行 vncserver 後用 netstat 檢查一下。
只使用一名前鋒可能會更好。不轉送到 localhost,而是轉送到 Putty 對話方塊中的 serverB。您只需要透過 SSH 連線到 serverB 即可在那裡執行 vncserver,而無需轉送任何內容。當然,serverB 的 vncserver 不應該只監聽 localhost。 (SSH 轉送程式碼解析伺服器上的名稱,因此 serverB 應該只能在 serverA 上解析,即使您在 Putty 對話方塊中使用其名稱)。