Problèmes avec Mountain Lion SSH -X

8

Comment exécuter le transfert Mountain Lion X11 via SSH?

Exemple:

ssh -X [email protected] xterm

mon / etc / sshd_config a

X11Forwarding yes
#X11DisplayOffset 10
X11UseLocalhost yes

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

Sshd redémarré avec

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

(et aussi dans les Préférences -> Partage)

Démarré XQuatrz, et à partir du xterm je lance

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

a obtenu le prochain:

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

du xterm

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

le changer :0n'aide pas

courir depuis le 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

Une idée?

jm666
la source
Pourriez-vous préciser quelle partie ne fonctionne pas pour vous?
sage
@demure Mon anglais n'est pas assez bon, j'étais dans l'espoir que l'erreur meesage soit assez claire. Mais ok, a ajouté un commentaire à la question, pour montrer exactement ce qui ne fonctionne pas. Ou plus précisément, ne fonctionne pas le tunneling du protocole X via ssh pour une raison étrange. Peut-être xauth. Merci de votre intérêt. :)
jm666

Réponses:

8

Vous devez ouvrir XQuartz, allez dans X11PréférencesSécurité , il y a deux cases à cocher: désactivez la première, activez la seconde. Redémarrez XQuartz et réessayez. Vous devrez également définir la $DISPLAYvariable comme ceci:

export DISPLAY=clienthost:0.0
Andreu
la source
En attendant, j'ai découvert que le problème était d'un autre côté - pas dans mon OS X.; Merci quand même +1.
jm666
@ jm666, Andreu J'ai le même problème et cette solution n'a pas fonctionné pour moi, # jm66 pourriez-vous partager votre expérience dans la résolution de ce problème.
math137
Qu'est-ce que c'est clienthost?
Jonathan
1

Vous ne savez pas comment cela peut se produire, mais à partir de la source SSH d'où vient le message d'erreur:

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

Cela indique qu'en effet ssh pense que la variable n'est pas du tout définie (c'est-à-dire pas malformée ou quelque chose, mais manquante).

Je ne suis pas sûr que SSH change le contexte utilisateur afin d'obtenir un environnement différent. Tu peux essayer

ssh -vvv ....

(plusieurs "v") pour obtenir plus de sortie de débogage, peut-être que cela donne un indice quelque part au démarrage.

Terminality
la source
wow - bonne idée du multiple vvv - va vérifier. Merci :)
jm666
ok, j'espère que ça aide
Terminality