Der -localhost -Option weist den VNC-Server an, sich nur an die Loopback-Schnittstelle zu binden, sodass Sie nur von dem Computer, auf dem er ausgeführt wird, eine Verbindung zum VNC-Server herstellen können. Dies bedeutet, dass jeder, der versucht, in Ihre VNC-Sitzung einzubrechen, in der Lage sein muss, auf diese bestimmte Maschine zuzugreifen. Ohne -localhost , würde Ihr VNC-Server nicht-lokale Verbindungen akzeptieren, sodass ein Angreifer einen anderen Computer verwenden könnte, um zu versuchen, in Ihre VNC-Sitzung einzudringen.
Wenn Sie -localhost verwenden , dann sollten Sie -L 5900:localhost:5901 übergeben , nicht -L 5900:vnc.machine:5901 , da Ihr VNC-Server nur auf der Loopback-Schnittstelle (localhost) lauscht.
jjlin Die Antwort von deckt die Fehlerbehebung ab, aber um es wirklich sicher zu machen, sollten Sie auch -nolisten tcp übergeben bis vncserver . Dadurch wird sichergestellt, dass auf X kein offener TCP-Listener vorhanden ist Seite der Dinge.