-localhost オプションは、VNC サーバーが実行されているマシンからのみ VNC サーバーに接続できるように、ループバック インターフェイスにのみバインドするように VNC サーバーに指示しています。これは、VNC セッションに侵入しようとする人は誰でも、その特定のマシンにアクセスできる必要があることを意味します。 -localhost なし 、VNC サーバーは非ローカル接続を受け入れるため、攻撃者は別のマシンを使用して VNC セッションに侵入しようとする可能性があります。
-localhost を使用する場合 、次に -L 5900:localhost:5901 を渡す必要があります 、 -L 5900:vnc.machine:5901 ではありません これは、VNC サーバーがループバック (localhost) インターフェースでのみリッスンしているためです。
jjlin の答えはトラブルシューティングをカバーしていますが、本当に安全にするためには -nolisten tcp も渡す必要があります vncserverまで .これにより、X で開いている TCP リスナーがなくなります。