Eu tenho a seguinte configuração: Máquina A (a.corp, 192.168.100.130, máquina local) e Máquina B (b.corp, máquina remota) e um monitor é conectado a cada uma dessas máquinas. Quando eu ssh de a.corp para b.corp como
Máquina A, máquina local, ou seja, a.corp configurada:
.ssh/config
Host *
ForwardX11 yes
TCPKeepAlive no
ServerAliveInterval 15
ServerAliveCountMax 10
IdentityFile ~/.ssh/id_dsa.work
/etc/ssh_config
(é um OS-x, Darwin 12.2.0)
Host *
SendEnv LANG LC_*
ForwardX11 yes
MachineB, máquina remota, isto é, configuração b.corp: (kernel do ubuntu: 3.2.0)
.ssh/config
Host *
ForwardX11 yes
IdentityFile ~/.ssh/id_dsa.work
/etc/ssh/ssh_config
Host *
SendEnv LANG LC_*
ForwardX11 yes
Caso 1:
(DISPLAY on a.corp is not set)
$ echo $DISPLAY
$ ssh -X b.corp
(DISPLAY on b.corp is not set either)
$ echo $DISPLAY
$ xclock
Error: Can't open display:
Caso 2: tentei definir a variável DISPLAY como
(DISPLAY on a.corp is not set)
$ echo $DISPLAY
$ ssh -X b.corp
$ export DISPLAY=`echo $SSH_CLIENT|cut -f1 -d\ `:0.0
$ echo $DISPLAY
192.168.100.130:0.0
$ xclock
O visor do xclock é aberto, mas no monitor conectado ao b.corp (máquina remota) e não no monitor conectado ao a.corp (máquina local). Existe uma maneira de forçar a exibição do monitor no monitor da máquina local (a.corp)?
ssh
x11-forwarding
Sumit
fonte
fonte
Respostas:
Normalmente,
DISPLAY
deve ser definido comolocalhost:10.0
na máquina remota Você também deve garantir que/etc/ssh/ssh_config
a máquina remota tenha a linhaForwardX11 Yes
Sob a seção
Host *
ou
Host a.corp
se você deseja permitir o encaminhamento do X11 apenas para este host.
fonte
DISPLAY
na máquina local ou remota. Se eu definirDISPLAY
em uma máquina remota paralocalhost:10.0
receberError: Can't open display: localhost:10.0
. Atualizei a pergunta com as definições de configuração na máquina local e remota..ssh/config
que casa do usuário eles estavam? Você verificou os arquivos de todo o sistemaetc/ssh/ssh_config
?/etc/ssh_config
informações também.ForwardX11 Yes
a/etc/ssh/ssh_config
ela.Tente conectar-se sem usar o xauth:
client @ home: servidor ssh -Y xeyes
Se isso funcionar, você precisará verificar a configuração da segurança x11 corretamente.
fonte
xeyes
ou algo semelhante a partir do emulador de terminal em que faz shell no servidor remoto? Se você não consegue nem iniciar as coisas localmente, e não poderá fazê-lo a menos que DISPLAY esteja definido, não é de admirar que o encaminhamento não esteja funcionando. no caso de su, pule o - (novo shell de login). No caso de sudo, use a opção -E.su
ousudo
. E sim, o xeyes abre bem, só que não aparece na tela certa (atualizei as perguntas com o comportamento exato observado)