No, esto no es seguro.
Llamemos a sus máquinas local y remoto . Lo que está haciendo ahora es crear un túnel para X11 de local a local , luego ejecutar un cliente VNC a través de ese túnel y usarlo para conectarse a remoto . Esto efectivamente no hace nada, el tráfico entre local y remoto no pasa por el túnel SSH.
Originalmente sonaba como si estuvieras diciendo que estabas SSHing de local a remoto , ejecutando un cliente VNC en remoto X11 reenviado a local , luego use el cliente VNC para conectarse desde remoto a remoto . Este sería seguro (siempre que confíe en la computadora remota , el reenvío X11 es algo vulnerable si remoto es malicioso; no estoy familiarizado basta con VNC para saber si esto es mejor o peor que usar VNC directamente) pero parece complicado e innecesario, y supongo que el rendimiento se vería afectado.
Si desea que VNC haga un túnel a través de una conexión SSH, la forma correcta de hacerlo es reenviar un puerto de local a remoto utilizando ssh -L
:
ssh -L [localhost port]:[host]:[host port] remote
Esta sintaxis puede ser un poco confusa al principio hasta que descubras qué está sucediendo en qué máquina. [host]
aquí es desde la perspectiva de remoto ; lo que sucede es que estás reenviando [localhost port]
a remoto , luego remoto lo envía a [host]:[host port]
, así que lo que realmente quieres es:
ssh -L 5900:localhost:5900 remote
De esa forma, el tráfico se envía desde local puerto 5900
a remoto , luego remoto se envía a sí mismo en el puerto 5900
. Luego, puede usar su cliente VNC en local para conectarse a local en el puerto 5900
(si el puerto 5900 ya se usa en local % co_de Por supuesto, el% se puede cambiar a otra cosa).
No es relevante aquí porque remoto se reenvía a sí mismo, pero es importante entender que una vez que el tráfico llegue a remoto se enviará sin cifrar. Si tuviera un host VNC separado accesible desde remoto y utilizara [localhost port]
, el tráfico se cifraría de local a remoto , pero no de remoto a vnchost .
No especificó qué protocolo estaba usando, por lo que esta respuesta supone VNC, pero funcionaría igual de bien con otros protocolos simplemente cambiando el puerto que se reenvía. También tenga en cuenta que algunos protocolos para compartir el escritorio permiten el uso de TLS, lo que debería hacer que el reenvío de SSH sea innecesario cuando se implementa correctamente.