Considere una situación en la que estoy iniciando sesión a través de SSH de la máquina A a la máquina B, tengo una sesión X en la máquina A y quiero ejecutar un programa X en B.
ssh -X B
hace que esto funcione de manera transparente. Pero, ¿qué X11Forwarding yes
pasa si la configuración del servidor carece , no tengo permisos de root en el servidor y el administrador del servidor es indiferente?
Obviamente, es posible reenviar la conexión X11, ya que puedo transferir lo que quiera a través del canal SSH. De hecho, si el servidor X local permite conexiones TCP, es tan fácil como ssh -R 6010:localhost:6000
(ser ajustado para los números de pantalla). ¿Qué pasa con el caso común en el que el servidor X local solo permite conexiones de socket? ¿Cómo hago el reenvío X de manera conveniente y segura, con un mínimo de requisitos de instalación (especialmente en B)?
fuente
.ssh/config
lado del cliente y aquello en su.profile
lado del servidor, y luego simplemente ejecutessh B
"./tmp/.X11-unix/X0
es un socket de dominio Unix, no un FIFO, por lo que cualquier intento de redirección termina conENXIO: No such device
.Gire un servidor X adicional usando Xephyr. Esto es por seguridad: evita que el sistema remoto comprometa el suyo.
Use SSH para reenviar un zócalo remoto al zócalo Xephyr. SSH también admite el reenvío de sockets Unix.
Establezca las variables de entorno en el servidor remoto correctamente.
fuente