Qual é a diferença entre ssh -Y
(encaminhamento X11 confiável) e ssh -X
(encaminhamento X11 não confiável)? Até onde eu entendi, isso tem algo a ver com segurança, mas eu não entendi a diferença e quando usar qual.
fonte
Qual é a diferença entre ssh -Y
(encaminhamento X11 confiável) e ssh -X
(encaminhamento X11 não confiável)? Até onde eu entendi, isso tem algo a ver com segurança, mas eu não entendi a diferença e quando usar qual.
Ambas as opções têm algo a ver com o encaminhamento do X11. Isso significa que, se você habilitar isso, poderá usar um cliente gráfico na sua sessão SSH (por exemplo, usar o Firefox ou outra coisa).
Se você usar ssh -X remotemachine
a máquina remota, será tratado como um cliente não confiável. Portanto, seu cliente local envia um comando para a máquina remota e recebe a saída gráfica. Se o seu comando violar algumas configurações de segurança, você receberá um erro.
Mas se você usar ssh -Y remotemachine
a máquina remota, será tratado como um cliente confiável. Esta última opção pode abrir problemas de segurança. Como outros clientes gráficos (X11) podem farejar dados da máquina remota (fazer capturas de tela, registrar keylogging e outras coisas desagradáveis) e é ainda possível alterar esses dados.
Se você quiser saber mais sobre essas coisas, sugiro ler a página de manual do Xsecurity ou a especificação de extensão do X Security . Além disso, você pode verificar as opções ForwardX11
e ForwardX11Trusted
no seu /etc/ssh/ssh_config
.
-X
é impossível para outros clientes farejar ou alterar dados?-Y
vez de-X
em geral?-Y
) e o único caso em que entendi isso pode ser útil é quando o controle de segurança do lado do servidor não é implementado / não é compatível. Também li que o encaminhamento do X11 geralmente é uma ferramenta poderosa e perigosa que deve ser tratada como tal.Use nem quando não precisar executar programas X11 remotamente; use
-X
quando você faz; e hipoteticamente use-Y
se um programa X11 com o qual você se preocupa funcionar melhor com -Y do que com -X. Mas atualmente (Ubuntu 15.10), -X é idêntico a -Y, a menos que você editessh_config
para dizerForwardX11Trusted no
. -X foi originalmente planejado para habilitar a extensão X Security da década de 90, mas é antiga e inflexível e trava alguns programas, sendo ignorada por padrão.O ssh
-Y
e-X
permite executar um programa X11 em uma máquina remota, com suas janelas aparecendo no monitor X local. A questão é o que o programa pode fazer nas janelas de outros programas e no próprio servidor X.O encaminhamento confiável do X11 é ativado por
-Y
. Esse é o comportamento histórico. Um programa com acesso à tela é confiável com acesso à tela inteira . Pode capturar imagens, keylog e injetar entrada em todas as janelas de outros programas. E pode usar todas as extensões de servidor X, incluindo aquelas como gráficos acelerados, que são exposições de segurança. O que é bom para funcionar sem problemas, mas ruim para a segurança. Você está confiando que os programas remotos são tão seguros quanto os programas locais.O encaminhamento não confiável do X11 tenta restringir os programas remotos a acessar apenas suas próprias janelas e a usar apenas as partes do X que são relativamente seguras. Parece bom, mas atualmente não funciona bem na prática.
O significado de
-X
atualmente depende da sua configuração ssh.No Ubuntu 14.04 LTS, a menos que você edite o seu
ssh_config
, não há diferença entre-X
e-Y
. "[B] porque muitos programas atualmente travam no modo [não confiável]."Se
ForwardX11Trusted no
,-X
habilita o encaminhamento não confiável . Caso contrário,-X
é tratado da mesma forma que-Y
, confiando que os programas remotos com acesso a exibição são amigáveis.fonte
A
-X
opção permite o encaminhamento do X11:A opção
-Y
, correspondente à diretiva ForwardX11Trusted em ssh_config (5), é ainda menos segura porque remove os controles de extensão X11 SECURITY.É mais seguro usar
-x
fonte