OVH Cloud OVH Cloud

ssh X11 forwarding

18 réponses
Avatar
Jeannot Lelapin
Bonjour,

le serveur : FreeBSD 7.0 (machine sans écran) sur lequel j'ai installé :
/usr/ports/x11/xauth
/usr/ports/x11-fonts/xorg-fonts
/usr/ports/x11/xhost
/usr/ports/x11/xdm

Pour le fichier de configuration du server ssh /etc/ssh/sshd_config
AllowTcpForwarding yes
X11Forwarding yes
X11DisplayOffset 10
X11UseLocalhost yes
Pour le fichier de configuration du client ssh /etc/ssh_config ( dépend
de la machine cliente )
Host *
ForwardX11 yes


Pour la machine cliente :
soit un WinXP avec Cygwin+Package X ( les application X fonctionnent
très bien ).
soit un powerbook sous MacOS X 10.4.11 ( les applications X fonctionnent
très bien avec le serveur XDarwin ).

depuis l'une des machines clientes, je me connecte
ssh XX.XX.XX.XX -l user -X
export DISPLAY=localhost:10.0
xeyes &
X connection to localhost:10.0 broken (explicit kill or server shutdown).

alors :
xauth list
xauth: creating new authority file /home/user/.Xauthority
Il n'y a pas de fichier /home/user/.Xauthority
xauth generate localhost:10.0 .
xauth: creating new authority file /home/user/.Xauthority
X connection to localhost:10.0 broken (explicit kill or server shutdown).
et j'ai 2 fichiers
.Xauthority-c vide
.Xauthority-l vide

alors j'essaie une autre méthode
xhost +localhost
X connection to localhost:10.0 broken (explicit kill or server shutdown).
su
xhost +localhost
X connection to localhost:10.0 broken (explicit kill or server shutdown).

J'essaie de regarder les fichiers de log, j'ai chercher sur le net, je
ne trouve pas mon erreur.

Quelqu'un a un idée ?

Merci d'avance,

Jeannot

8 réponses

1 2
Avatar
Paul Gaborit
À (at) Fri, 06 Mar 2009 16:11:05 +0100,
Jeannot Lelapin écrivait (wrote):
D'autant plus que j'ai les mêmes problèmes si je me connecte avec une
machine sous WinXP/Cygwin+XServer ( qui marche très bien en local ).



Oui. Malheureusement, là je ne vois pas. D'autant que je viens
d'essayer ici depuis un XDarwin fraîchement installé et en faisant un
'ssh -X' vers un FreeBSD 7.1 sans configuration particulière et ça
marche tel quel...

--
Paul Gaborit - <http://perso.mines-albi.fr/~gaborit/>
Avatar
Paul Gaborit
À (at) Fri, 06 Mar 2009 16:38:02 +0100,
Paul Gaborit écrivait (wrote):
À (at) Fri, 06 Mar 2009 16:11:05 +0100,
Jeannot Lelapin écrivait (wrote):
D'autant plus que j'ai les mêmes problèmes si je me connecte avec une
machine sous WinXP/Cygwin+XServer ( qui marche très bien en local ).



Oui. Malheureusement, là je ne vois pas. D'autant que je viens
d'essayer ici depuis un XDarwin fraîchement installé et en faisant un
'ssh -X' vers un FreeBSD 7.1 sans configuration particulière et ça
marche tel quel...



Une dernière piste : avez-vous un fichier .Xauthority à la racine du
compte FreeBSD et une fois connecté sur ce FreeBSD avec un DISPLAY du
type localhost:10.0, que donne la commande :

% xauth list

--
Paul Gaborit - <http://perso.mines-albi.fr/~gaborit/>
Avatar
Jeannot Lelapin
Paul Gaborit wrote:
À (at) Fri, 06 Mar 2009 16:38:02 +0100,
Paul Gaborit écrivait (wrote):
À (at) Fri, 06 Mar 2009 16:11:05 +0100,
Jeannot Lelapin écrivait (wrote):
D'autant plus que j'ai les mêmes problèmes si je me connecte avec une
machine sous WinXP/Cygwin+XServer ( qui marche très bien en local ).


Oui. Malheureusement, là je ne vois pas. D'autant que je viens
d'essayer ici depuis un XDarwin fraîchement installé et en faisant un
'ssh -X' vers un FreeBSD 7.1 sans configuration particulière et ça
marche tel quel...



Une dernière piste : avez-vous un fichier .Xauthority à la racine du
compte FreeBSD et une fois connecté sur ce FreeBSD avec un DISPLAY du
type localhost:10.0, que donne la commande :

% xauth list



une fois arrivé sur la machine FreeBSD :
xauth list
NOMMACHINE/unix:10 MIT-MAGIC-COOKIE-1 77ddcc466562f794754f69af4c26fe66
echo $DISPLAY
localhost:10.0
Avatar
Paul Gaborit
À (at) Fri, 06 Mar 2009 17:47:00 +0100,
Jeannot Lelapin écrivait (wrote):
une fois arrivé sur la machine FreeBSD :
xauth list
NOMMACHINE/unix:10 MIT-MAGIC-COOKIE-1 77ddcc466562f794754f69af4c26fe66
echo $DISPLAY
localhost:10.0



Donc cette partie là fonctionne. Désolé, là, je n'ai plus d'idée pour
expliquer le souci. Avez-vous un serveur X11 sous unix (Linux, *BSD ou
Solaris mais ni Windows ni Mac OS X) pour tester si au moins ça marche
dans un environnement classique ?

--
Paul Gaborit - <http://perso.mines-albi.fr/~gaborit/>
Avatar
Jeannot Lelapin
Bonjour Paul,

je continue l'aventure :
si dans /etc/ssh/sshd_config de la machine distante (FreeBSD), je mets
la ligne suivante :
X11DisplayOffset 0
alors depuis ma machine client (MacOsX)
ssh FreeBSD.IP -l user -X -vv
reste bloqué à
debug2: x11_get_proto: /usr/X11R6/bin/xauth -f
/tmp/ssh-0ceBE6TVyS/xauthfile generate MIT-MAGIC-COOKIE-1 untrusted
timeout 1200 2>/dev/null
Control+C ne marche pas, on termine avec kill -9

si dans /etc/ssh/sshd_config de la machine distante (FreeBSD), je remets
la ligne suivante :
X11DisplayOffset 10
je peux me connecter à la machine distante avec toujours :
ssh FreeBSD.IP -l user -X -vv
echo $DISPLAY
localhost:10.0
et il y a la création d'un .Xauthority cohérent.

en recherchant dans les log de ssh pour cette dernière connection la ligne :
debug2: x11_get_proto: /usr/X11R6/bin/xauth -f
/tmp/ssh-0ceBE6TVyS/xauthfile generate MIT-MAGIC-COOKIE-1 untrusted
timeout 1200 2>/dev/null
et bien je ne trouve pas trace de ce fichier

en relancant la connection avec le niveau 3 de debug, je trouve :

debug2: x11_get_proto: /usr/X11R6/bin/xauth -f
/tmp/ssh-gWMSeUy5lN/xauthfile generate MIT-MAGIC-COOKIE-1 untrusted
timeout 1200 2>/dev/null
Warning: untrusted X11 forwarding setup failed: xauth key data not generated
Warning: No xauth data; using fake authentication data for X11 forwarding.
debug1: Requesting X11 forwarding with authentication spoofing.

Si je remplace par -X par -Y pour la commande ssh, j'obtiens les lignes :
debug2: x11_get_proto: /usr/X11R6/bin/xauth list 2>/dev/null
Warning: No xauth data; using fake authentication data for X11 forwarding.
debug1: Requesting X11 forwarding with authentication spoofing.
debug2: channel 0: request x11-req confirm 0

maintenant

$ echo $DISPLAY
localhost:10.0
$ xeyes &
$ debug1: client_input_channel_open: ctype x11 rchan 2 win 65536 max 16384
debug1: client_request_x11: request from FreeBSD.AdressIP 65334
Could not find ':' in DISPLAY:
debug1: failure x11
X connection to localhost:10.0 broken (explicit kill or server shutdown).

J'en suis là de mes recherches et je continue.

Si cela donne des idées à quelqu'un ?

Jeannot
Avatar
Paul Gaborit
À (at) Sat, 07 Mar 2009 15:49:35 +0100,
Jeannot Lelapin écrivait (wrote):
je continue l'aventure :
si dans /etc/ssh/sshd_config de la machine distante (FreeBSD), je mets
la ligne suivante :
X11DisplayOffset 0



Ce n'est pas à faire. Il vaut mieux ne rien mettre du tout pour avoir
le réglage par défaut qui est 10...

si dans /etc/ssh/sshd_config de la machine distante (FreeBSD), je
remets la ligne suivante :
X11DisplayOffset 10



... on peut aussi mettre explicitiment la valeur par défaut. Ce qu'il
faut bien comprendre dans le fichier sshd_config fourni sur FeeBSD ,
c'est que les options en commentaires indiquent la valeur par
défaut. Le fichier sshd_config que j'utilise sur mes serveurs FreeBSD,
ne contient que des commentaires (sauf pour activer sftp).

je peux me connecter à la machine distante avec toujours :
ssh FreeBSD.IP -l user -X -vv
echo $DISPLAY
localhost:10.0
et il y a la création d'un .Xauthority cohérent.

en recherchant dans les log de ssh pour cette dernière connection la ligne :
debug2: x11_get_proto: /usr/X11R6/bin/xauth -f
/tmp/ssh-0ceBE6TVyS/xauthfile generate MIT-MAGIC-COOKIE-1 untrusted
timeout 1200 2>/dev/null
et bien je ne trouve pas trace de ce fichier



Ce fichier (/tmp/ssh-0ceBE6TVyS/xauthfile) est créé sur la machine
locale mais il me semble qu'il est effacé dans la foulée (le
répertoire /tmp/ssh-XXX/ existe encore mais il ne contient que le
fichier pipe pour ssh-agent).

en relancant la connection avec le niveau 3 de debug, je trouve :

debug2: x11_get_proto: /usr/X11R6/bin/xauth -f
/tmp/ssh-gWMSeUy5lN/xauthfile generate MIT-MAGIC-COOKIE-1 untrusted
timeout 1200 2>/dev/null
Warning: untrusted X11 forwarding setup failed: xauth key data not generated
Warning: No xauth data; using fake authentication data for X11 forwarding.



Le deux messages d'avertissement ne sont pas bons signes. Est-ce que
la commande suivante fonctionne sur la machine locale (celle qui fait
tourner le serveur X11) :

% /usr/X11R6/bin/xauth -f xauth-test generate $DISPLAY . untrusted

--
Paul Gaborit - <http://perso.mines-albi.fr/~gaborit/>
Avatar
Jeannot Lelapin
Paul Gaborit wrote:

% /usr/X11R6/bin/xauth -f xauth-test generate $DISPLAY . untrusted



ca marche très bien
ensuite
xauth -f xauth-test list
affiche la ligne suivante :
powerbook-g4-17-de-XXXX.local/unix:0 MIT-MAGIC-COOKIE-1
5b075e1e142b4a263e57512120302b6e
Avatar
Jeannot Lelapin
Hello

j'arrête de chercher, je n'ai pas le temps en ce moment.
J'utilise maintenant xvfb x11vnc et un client vnc avec ssh.
C'est différent mais c'est très utile.

Jeannot

Paul Gaborit wrote:
À (at) Sat, 07 Mar 2009 15:49:35 +0100,
Jeannot Lelapin écrivait (wrote):
je continue l'aventure :
si dans /etc/ssh/sshd_config de la machine distante (FreeBSD), je mets
la ligne suivante :
X11DisplayOffset 0



Ce n'est pas à faire. Il vaut mieux ne rien mettre du tout pour avoir
le réglage par défaut qui est 10...

si dans /etc/ssh/sshd_config de la machine distante (FreeBSD), je
remets la ligne suivante :
X11DisplayOffset 10



... on peut aussi mettre explicitiment la valeur par défaut. Ce qu'il
faut bien comprendre dans le fichier sshd_config fourni sur FeeBSD ,
c'est que les options en commentaires indiquent la valeur par
défaut. Le fichier sshd_config que j'utilise sur mes serveurs FreeBSD,
ne contient que des commentaires (sauf pour activer sftp).

je peux me connecter à la machine distante avec toujours :
ssh FreeBSD.IP -l user -X -vv
echo $DISPLAY
localhost:10.0
et il y a la création d'un .Xauthority cohérent.

en recherchant dans les log de ssh pour cette dernière connection la ligne :
debug2: x11_get_proto: /usr/X11R6/bin/xauth -f
/tmp/ssh-0ceBE6TVyS/xauthfile generate MIT-MAGIC-COOKIE-1 untrusted
timeout 1200 2>/dev/null
et bien je ne trouve pas trace de ce fichier



Ce fichier (/tmp/ssh-0ceBE6TVyS/xauthfile) est créé sur la machine
locale mais il me semble qu'il est effacé dans la foulée (le
répertoire /tmp/ssh-XXX/ existe encore mais il ne contient que le
fichier pipe pour ssh-agent).

en relancant la connection avec le niveau 3 de debug, je trouve :

debug2: x11_get_proto: /usr/X11R6/bin/xauth -f
/tmp/ssh-gWMSeUy5lN/xauthfile generate MIT-MAGIC-COOKIE-1 untrusted
timeout 1200 2>/dev/null
Warning: untrusted X11 forwarding setup failed: xauth key data not generated
Warning: No xauth data; using fake authentication data for X11 forwarding.



Le deux messages d'avertissement ne sont pas bons signes. Est-ce que
la commande suivante fonctionne sur la machine locale (celle qui fait
tourner le serveur X11) :

% /usr/X11R6/bin/xauth -f xauth-test generate $DISPLAY . untrusted



1 2