Problèmes avec Mountain Lion SSH -X


8

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

Exemple:

ssh -X some@example.com 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 mrp@192.168.1.17 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 no-more-sessions@openssh.com
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 eow@openssh.com 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?


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

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.


wow - bonne idée du multiple vvv - va vérifier. Merci :)
jm666

ok, j'espère que ça aide
Terminality
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.