Problemas com Mountain Lion ssh -X

8

Como executar o encaminhamento do Mountain Lion X11 via SSH?

Exemplo:

ssh -X [email protected] xterm

meu / etc / sshd_config possui

X11Forwarding yes
#X11DisplayOffset 10
X11UseLocalhost yes

# XAuthLocation added by XQuartz (http://xquartz.macosforge.org)
XAuthLocation /opt/X11/bin/xauth

Reinicie o sshd com

launchctl stop com.openssh.sshd
launchctl start com.openssh.sshd

(e também em Preferências -> Compartilhando)

Iniciei o XQuatrz e, a partir do xterm, eu corro

ssh -v -X [email protected] xterm        #this part not works :)

tem o seguinte:

debug1: Authentication succeeded (keyboard-interactive).
Authenticated to 192.168.1.17 ([192.168.1.17]:22).
debug1: channel 0: new [client-session]
debug1: Requesting [email protected]
debug1: Entering interactive session.
debug1: Requesting X11 forwarding with authentication spoofing.
debug1: Sending command: xterm
debug1: Remote: No xauth program; cannot forward with spoofing.
X11 forwarding request failed on channel 0
xterm: Xt error: Can't open display: 
xterm: DISPLAY is not set
debug1: client_input_channel_req: channel 0 rtype exit-status reply 0
debug1: client_input_channel_req: channel 0 rtype [email protected] reply 0
debug1: channel 0: free: client-session, nchannels 1
Transferred: sent 2656, received 2480 bytes, in 0.1 seconds
Bytes per second: sent 29582.4, received 27622.1
debug1: Exit status 1

do xterm

$ echo $DISPLAY
/tmp/launch-BHtJfJ/org.macosforge.xquartz:0

alterá-lo para :0não ajuda

correndo a partir do xterm

$ xauth list
jonatan.local/unix:0  MIT-MAGIC-COOKIE-1  f4f85682af36ae7d95cd3d244cb6beb2
192.168.1.9:0  MIT-MAGIC-COOKIE-1  f4f85682af36ae7d95cd3d244cb6beb2
jonatan.local:0  MIT-MAGIC-COOKIE-1  f4f85682af36ae7d95cd3d244cb6beb2

Qualquer ideia?

jm666
fonte
Você poderia esclarecer qual parte não está funcionando para você?
recatada 24/05
@demure Meu inglês não é bom o suficiente, eu estava na esperança de que a mensagem de erro seja suficientemente clara. Mas ok, adicionou um comentário à pergunta, para mostrar exatamente o que não funciona. Ou, mais preciso, não funciona o tunelamento do protocolo X via ssh por algum motivo estranho. Talvez xauth. Obrigado pelo interesse. :)
jm666

Respostas:

8

Você precisa abrir o XQuartz, vá para X11PreferênciasSegurança , há duas caixas de seleção: desativar o primeiro, ativar o segundo. Reinicie o XQuartz e tente novamente. Você também precisará definir a $DISPLAYvariável assim:

export DISPLAY=clienthost:0.0
Andreu
fonte
Enquanto isso, descobri que o problema estava do outro lado - não no meu OS X.; Obrigado mesmo assim +1.
jm666
@ jm666, Andreu Tenho o mesmo problema e esta solução não funcionou para mim, # jm66 você poderia compartilhar sua experiência na solução desse problema.
math137
O que é clienthost?
Jonathan
1

Não tenho certeza de como isso pode acontecer, mas da fonte SSH onde a mensagem de erro é exibida:

/* Try to open a socket for the local X server. */
display = getenv("DISPLAY");
if (!display) {
    error("DISPLAY not set.");
    return -1;
}

Indica que, de fato, o ssh acha que a variável não está definida (por exemplo, não está malformada ou algo assim, mas está ausente).

Não tenho certeza se o SSH altera o contexto do usuário para obter um ambiente diferente. Podes tentar

ssh -vvv ....

(vários "v") para obter mais saída de depuração, talvez isso dê uma dica em algum lugar na inicialização.

Terminality
fonte
uau - boa ideia o múltiplo vvv - vai verificar.
Obrigado
ok, espero que ajude
A terminalidade