Considere uma situação em que estou efetuando login pelo SSH da máquina A para a máquina B, tenho uma sessão X na máquina A e quero executar um programa X na B.
ssh -X B
torna esse trabalho transparente. Mas e se a configuração do servidor faltar X11Forwarding yes
, eu não tenho permissões de root no servidor e o administrador do servidor é indiferente?
Obviamente, é possível encaminhar a conexão X11, pois posso transferir o que eu quiser pelo canal SSH. De fato, se o servidor X local permitir conexões TCP, é tão fácil quanto ssh -R 6010:localhost:6000
(ser ajustado para os números de exibição). E o caso comum em que o servidor X local apenas permite conexões de soquete? Como faço para encaminhar o X de maneira conveniente e segura, com um mínimo de requisitos de instalação (especialmente em B)?
fonte
.ssh/config
lado do cliente e no.profile
lado do servidor e depois executessh B
"./tmp/.X11-unix/X0
é um soquete de domínio unix, não um FIFO, portanto, qualquer tentativa de redirecionamento termina comENXIO: No such device
.Gire um servidor X adicional usando o Xephyr. Isso é por segurança - evita que o sistema remoto comprometa o seu.
Use SSH para encaminhar um soquete remoto para o soquete Xephyr. O SSH também suporta o encaminhamento de soquetes Unix.
Defina as variáveis de ambiente no servidor remoto corretamente.
fonte