これはよく聞かれる質問であり、回答も出ています。しかし、解決策がうまくいかないので、なぜうまくいかないのかを解明するのに少し助けが欲しいです。私は過去にこれをうまくやったことがあると知っています。
私が調べたのは以下のものです: 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$
準備は整ったはずなので、localhost
またはlocalhost:0
またはに VNC 接続しようとしますlocalhost:5900
。接続に失敗します。
提案はありますか?
編集:serverB はファイアウォールの背後にあるため、serverA を仲介として使用する必要があることを追加する必要があります。
編集 2 - Nikita のコメントに基づく: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 でこれを確認してください。
転送は 1 つだけ使用する方がよい場合があります。ローカルホストではなく、Putty ダイアログで serverB に転送します。SSH 経由で serverB に接続して vncserver を実行するだけでよく、転送する必要はありません。もちろん、serverB の vncserver は localhost のみでリッスンするべきではありません。(SSH 転送コードはサーバー上の名前を解決するため、Putty ダイアログでその名前を使用した場合でも、serverB は serverA でのみ解決可能である必要があります)。