¿Cuál es la diferencia entre ssh -Y
(reenvío X11 confiable) y ssh -X
(reenvío X11 no confiable)? Por lo que he entendido, tiene algo que ver con la seguridad, pero no comprendí la diferencia y cuándo usar cuál.
fuente
¿Cuál es la diferencia entre ssh -Y
(reenvío X11 confiable) y ssh -X
(reenvío X11 no confiable)? Por lo que he entendido, tiene algo que ver con la seguridad, pero no comprendí la diferencia y cuándo usar cuál.
Ambas opciones tienen algo que ver con el reenvío X11. Esto significa que si habilita esto, puede usar un cliente gráfico a través de su sesión SSH (por ejemplo, usar Firefox u otra cosa).
Si utiliza ssh -X remotemachine
la máquina remota se trata como un cliente no confiable. Entonces su cliente local envía un comando a la máquina remota y recibe la salida gráfica. Si su comando viola algunas configuraciones de seguridad, recibirá un error.
Pero si utiliza ssh -Y remotemachine
la máquina remota se trata como un cliente de confianza. Esta última opción puede abrir problemas de seguridad. Debido a que otros clientes gráficos (X11) podrían rastrear datos de la máquina remota (hacer capturas de pantalla, hacer keylogging y otras cosas desagradables) e incluso es posible alterar esos datos.
Si desea saber más sobre esas cosas, le sugiero que lea la página de manual de Xsecurity o la especificación de la extensión X Security . Además, puedes consultar las opciones ForwardX11
y ForwardX11Trusted
en tu /etc/ssh/ssh_config
.
-X
qué es imposible para otros clientes oler o alterar datos?-Y
lugar de-X
en general?-Y
) y el único caso que entendí que puede ser útil es cuando el control de seguridad en el lado del servidor de alguna manera no está implementado / no es compatible. También he leído que reenviar X11 es generalmente una herramienta poderosa y peligrosa que debe tratarse como tal.No utilice ninguno cuando no necesite ejecutar programas X11 de forma remota; úsalo
-X
cuando lo hagas; e hipotéticamente usar-Y
si un programa X11 que le interesa funciona mejor con -Y que con -X. Pero actualmente (Ubuntu 15.10), -X es idéntico a -Y, a menos que editessh_config
para decirForwardX11Trusted no
. -X originalmente estaba destinado a habilitar la extensión X Security de la década de 1990, pero eso es antiguo e inflexible, y bloquea algunos programas, por lo que se ignora de manera predeterminada.Tanto ssh
-Y
como le-X
permiten ejecutar un programa X11 en una máquina remota, con sus ventanas apareciendo en el monitor X local. El problema es qué puede hacer el programa en las ventanas de otros programas y en el servidor X en sí.El reenvío de confianza de X11 está habilitado por
-Y
. Este es el comportamiento histórico. Se confía en un programa con acceso a la pantalla con acceso a toda la pantalla. Puede capturar, registrar teclas e inyectar entradas en todas las ventanas de otros programas. Y puede usar todas las extensiones de servidor X, incluidas las como gráficos acelerados, que son exposiciones de seguridad. Lo cual es bueno para funcionar sin problemas, pero malo para la seguridad. Confía en que los programas remotos sean tan seguros como sus programas locales.El reenvío X11 no confiable intenta restringir los programas remotos para acceder solo a sus propias ventanas y usar solo aquellas partes de X que son relativamente seguras. Lo que suena bien, pero actualmente no funciona bien en la práctica.
El significado de
-X
actualmente depende de su configuración ssh.En Ubuntu 14.04 LTS, a menos que edite su
ssh_config
, no hay diferencia entre-X
y-Y
. "[B] porque demasiados programas se bloquean actualmente en modo [no confiable]".Si
ForwardX11Trusted no
, entonces-X
habilita el reenvío no confiable . De lo contrario,-X
se trata de la misma manera-Y
, confiando en que los programas remotos con acceso a la pantalla son amigables.fuente
La
-X
opción habilita el reenvío X11:La opción
-Y
, correspondiente a la directiva ForwardX11Trusted en ssh_config (5), es aún menos segura porque elimina los controles de extensión X11 SECURITY.Es más seguro de usar
-x
fuente