OVH Cloud OVH Cloud

x11 forwarding

72 réponses
Avatar
Thomas
bonjour :-)


je vous precise que j'essaye de faire du x11 forwarding entre un mac
distant sous mac os x 10.4.9 et le miens sous mac os x 10.2.8,
j'espere que c'est encore possible


je viens de voir qu'il y a de nouvelles possibilités, dans
/etc/sshd_config ,
tiens d'ailleurs ca a changé des choses tout seul, là, non ? c'est la
maj combinée vers 10.4.9 qui a fait ca ? :-(
je suis certain que j'avais mis X11Forwarding à yes (là c'etait revenu à
no, j'ai du le rechanger), et je crois que ca m'a changé d'autres choses
aussi ...

X11Forwarding yes
#X11DisplayOffset 10
#X11UseLocalhost yes


bon enfin, mon pb majeur c'est que je peux pas utiliser de programmes
x11 distants :

quand je me connecte avec ssh, ca m'indique :

/usr/X11R6/bin/xauth: (stdin):1: bad display name "unix:10.0" in
"remove" command
/usr/X11R6/bin/xauth: (stdin):2: bad display name "unix:10.0" in "add"
command

quand je lance le programme x11, ca m'indique :

X11 connection rejected because of wrong authentication.
The application 'testgtk' lost its connection to the display
localhost:10.0;
most likely the X server was shut down or you killed/destroyed
the application.

vous voyez où est le pb ?

--
Informations sur Nicolas Sarkozy :
http://www.betapolitique.fr/spip.php?article0602
http://www.betapolitique.fr/spip.php?article0601
http://www.betapolitique.fr/spip.php?article0414
http://www.betapolitique.fr/spip.php?article0606
http://tDeContes.hd.free.fr/divers/Ruptures.pdf

10 réponses

Avatar
Paul Gaborit
À (at) Wed, 06 Jun 2007 16:35:12 +0200,
Paul Gaborit écrivait (wrote):
À (at) Wed, 06 Jun 2007 13:58:22 +0200,
Thomas écrivait (wrote):
[:~] thomas% /usr/X11R6/bin/xauth list
/usr/X11R6/bin/xauth: creating new authority file
/Users/thomas/.Xauthority
[:~] thomas% cat ~/.Xauthority
cat: /Users/thomas/.Xauthority: No such file or directory


En fait, même après un 'ssh -X...' le fichier .Xauthority n'est pas
rempli (il n'existe même pas).

Ce que vous obtenez via l'appel à 'xauth list' est normal. Il crée un
fichier vide et le supprimer tout de suite. Ce qui n'est pas normal
c'est qu'il soit vide alors que la connexion via 'ssh -X...' devrait
le remplir.


X11 est-il bien correctement installé sur le mac distant ?

--
Paul Gaborit - <http://perso.enstimac.fr/~gaborit/>


Avatar
Paul Gaborit
À (at) Wed, 06 Jun 2007 13:51:20 +0200,
Thomas écrivait (wrote):
sur la machine distante ?

[:~] thomas% ls -l /usr/X11R6/bin/xauth
-rwxr-xr-x 1 root wheel 41036 22 ao 2005 /usr/X11R6/bin/xauth


C'est quelle version de MacOS X ? Avec un X11 à jour et installé
proprement ?

Ici, sur Mac OS X 10.4.9 (intel), le programme 'xauth' fait 81232
octets et date du 7 novembre 2006. Pour la taille, c'est presque
normal puisque c'est un binaire Universal (ppc et i386). Et pour la
date je me demande si ce n'est pas la date d'installation...

--
Paul Gaborit - <http://perso.enstimac.fr/~gaborit/>

Avatar
Paul Gaborit
À (at) Wed, 06 Jun 2007 16:13:45 +0200,
Jacques Perrocheau écrivait (wrote):
Sans vouloir abuser, comment fait-on "un petit alias" ?


Ça dépend du 'shell' utilisé...

Un truc du genre :

alias defdisplay 'export DISPLAY=localhost:0.0'

7- il y a sûrement d'autres choses... ;-)


!! Je crains... ;-(


Mon point 5 était incomplet... Il ne faut pas toucher à la config ssh
du serveur X11 (et donc client ssh) mais il faut toucher à la config
du serveur sshd (et donc client X11) pour qu'il autorise le
X11Forwarding.

Sur Mac OS X, il faut éditer le fichier /etc/ssshd_config pour ajouter
la ligne :

X11Forwarding yes

(Par défaut c'est 'no')

Évidemment, si c'est sur la même machine... il faut modifier sa
configuration. ;-)

--
Paul Gaborit - <http://perso.enstimac.fr/~gaborit/>


Avatar
blanc
Paul Gaborit wrote:

1- Il ne faut *jamais* définir la variable DISPLAY automatiquement
soi-même. C'est le meilleur moyen de mal la définir.

En fait, c'est le serveur X11 qui la définit correctement lorsqu'il se
crée et qui la passe à tous ses processus fils (par exemple un
'xterm').

Le Terminal de MacOS X n'étant pas 'processus fils' du serveur X11 n'a
donc pas de variable DISPLAY définie.

À la rigueur, on peut définir un petit alias qui le fait en utilisant
une valeur pas trop mauvaise (typiquement ':0.0' pour une utilisation
en local). Mais l'appel doit se faire manuellement au cas par cas.

Ou alors, on peut lancer l'application "Terminal" depuis un xterm...


Donc pour résumer ce point et le troisième :

1) Ne pas oublier de lancer X11 sur le Mac ;-) oui je sais c'est
évident, mais je préfère le préciser

2) Utiliser pour se connecter sur la machine distante :
- soit un xterm ouvert dans X11
- soit l'application Terminal ouverte depuis un tel xterm
- soit l'application Terminal dans laquelle on définie manuellement
la variable DISPLAY par : export DISPLAY=':0.0'
(si on est en bash ou compatible Bourne shell)
ou par : setenv DISPLAY ':0.0'
(si on est en csh ou tcsh)

3) La commande de connexion est alors la suivante :
ssh -X

et en général ça marche.
Sauf si la machine distante n'a pas été configurée convenablement. Pour
moi, ça ne m'est jamais arrivé, donc je n'en parlerai pas.
--
JiPaul.
/ /--/--// Jean-Paul Blanc
|/| L | quelquepart en (somewhere in)
/|| = ||| FRANCE

Avatar
Jacques Perrocheau
In article ,
Paul Gaborit wrote:

Heu... Je me suis mal exprimé...

5- il n'y a rien à toucher dans les fichiers de configuration de
ssh/sshd *sur* la machine serveur X11 (et donc client ssh). Par contre
sur la machine distante (le serveur sshd et donc client X11), il faut
autoriser le 'X11Forwarding' dans le fichier 'sshd_config'.


Ah!, OK, la cohérence semble revenir avec mes observations (voir mon
post à ta première réponse) et d'autre part ce que je lis dans l'autre
partie de l'enfilade sous la plume de l'autre "Jacques".

Il faudra donc que j'aille faire un petit check de la configuration
'sshd_config sur la machine "sous Mac OS X 10.3.9" avec laquelle je fais
mes essais.


mac-MacOSX10.3.9:/etc autremoi$ more sshd_config
# $OpenBSD: sshd_config,v 1.59 2002/09/25 11:17:16 markus Exp $
[snip]
# Set this to 'yes' to enable PAM keyboard-interactive authentication
# Warning: enabling this may bypass the setting of
'PasswordAuthentication'
#PAMAuthenticationViaKbdInt no

#X11Forwarding no
#X11DisplayOffset 10
#X11UseLocalhost yes
#PrintMotd yes
#PrintLastLog yes
#KeepAlive yes
#UseLogin no
#UsePrivilegeSeparation yes
#PermitUserEnvironment no
#Compression delayed
[snip]

effectivement.

Je vais faire la modif et je vous tiens au courant.

Je vois qu'on peut aussi autoriser en fonction de l'utilisateur..
intéressant...


# Example of overriding settings on a per-user basis
#Match User anoncvs
# X11Forwarding no
# AllowTcpForwarding no
# ForceCommand cvs server

Je vais potasser le man.

--
Jacques PERROCHEAU
Synthèse et Electrosynthèse Organiques, C.N.R.S. UMR 6510
Université de Rennes I, Campus de Beaulieu, F-35042 RENNES Cedex
Tel: +33 2 23 23 63 74, Fax: +33 2 23 23 63 74

Avatar
Paul Gaborit
À (at) Wed, 6 Jun 2007 17:26:59 +0200,
(JiPaul) écrivait (wrote):
Donc pour résumer ce point et le troisième :

1) Ne pas oublier de lancer X11 sur le Mac ;-) oui je sais c'est
évident, mais je préfère le préciser

2) Utiliser pour se connecter sur la machine distante :
- soit un xterm ouvert dans X11
- soit l'application Terminal ouverte depuis un tel xterm
- soit l'application Terminal dans laquelle on définie manuellement
la variable DISPLAY par : export DISPLAY=':0.0'
(si on est en bash ou compatible Bourne shell)
ou par : setenv DISPLAY ':0.0'
(si on est en csh ou tcsh)

3) La commande de connexion est alors la suivante :
ssh -X

et en général ça marche.


Oui.

Sauf si la machine distante n'a pas été configurée convenablement. Pour
moi, ça ne m'est jamais arrivé, donc je n'en parlerai pas.


Il faut que la machine distante autorise le X11Forwarding (dans son
fichier de configuration de sshd, en général /etc/sshd_config).

--
Paul Gaborit - <http://perso.enstimac.fr/~gaborit/>

Avatar
Jacques Perrocheau
In article <f46jqg$ol3$,
Jacques Perrocheau wrote:

Ah!, OK, la cohérence semble revenir avec mes observations (voir mon
post à ta première réponse) et d'autre part ce que je lis dans l'autre
partie de l'enfilade sous la plume de l'autre "Jacques".

Il faudra donc que j'aille faire un petit check de la configuration
'sshd_config sur la machine "sous Mac OS X 10.3.9" avec laquelle je fais
mes essais.


mac-MacOSX10.3.9:/etc autremoi$ more sshd_config
# $OpenBSD: sshd_config,v 1.59 2002/09/25 11:17:16 markus Exp $
[snip]
# Set this to 'yes' to enable PAM keyboard-interactive authentication
# Warning: enabling this may bypass the setting of
'PasswordAuthentication'
#PAMAuthenticationViaKbdInt no

#X11Forwarding no
#X11DisplayOffset 10
#X11UseLocalhost yes
#PrintMotd yes
#PrintLastLog yes
#KeepAlive yes
#UseLogin no
#UsePrivilegeSeparation yes
#PermitUserEnvironment no
#Compression delayed
[snip]

effectivement.

Je vais faire la modif et je vous tiens au courant.

Je vois qu'on peut aussi autoriser en fonction de l'utilisateur..
intéressant...


# Example of overriding settings on a per-user basis
#Match User anoncvs
# X11Forwarding no
# AllowTcpForwarding no
# ForceCommand cvs server

Je vais potasser le man.


OK, ça marche.

J'ai donc mis simplement:

[snip]
# Set this to 'yes' to enable PAM keyboard-interactive authentication
# Warning: enabling this may bypass the setting of
'PasswordAuthentication'
#PAMAuthenticationViaKbdInt no

#X11Forwarding no
X11Forwarding yes
[snip]

relancé le sshd.

Bon, le xclock de Mac OS X 10.3.9 a quelques ratés d'affichage alors
qu'il est bien lancé (il apparait dans top):

mac-MacOSX10.3.9:~ autremoi$ Xlib: extension "RENDER" missing on
display "localhost:10.0".

mais il finit par s'afficher. J'avais constaté "en son temps" que le
xclock de Mac OS X 10.3.9 avait aussi des "ratés" d'affichage en local.

J'ai mes deux xclock, le distant et le local en même temps.... super ;-)

Merci pour le coup de main.

--
Jacques PERROCHEAU
Synthèse et Electrosynthèse Organiques, C.N.R.S. UMR 6510
Université de Rennes I, Campus de Beaulieu, F-35042 RENNES Cedex
Tel: +33 2 23 23 63 74, Fax: +33 2 23 23 63 74

Avatar
Jacques Perrocheau
In article ,
Paul Gaborit wrote:

Sans vouloir abuser, comment fait-on "un petit alias" ?


Ça dépend du 'shell' utilisé...

Un truc du genre :

alias defdisplay 'export DISPLAY=localhost:0.0'


ça marche pour bash ?


7- il y a sûrement d'autres choses... ;-)


!! Je crains... ;-(


Mon point 5 était incomplet... Il ne faut pas toucher à la config ssh
du serveur X11 (et donc client ssh) mais il faut toucher à la config
du serveur sshd (et donc client X11) pour qu'il autorise le
X11Forwarding.

Sur Mac OS X, il faut éditer le fichier /etc/ssshd_config pour ajouter
la ligne :

X11Forwarding yes

(Par défaut c'est 'no')

Évidemment, si c'est sur la même machine... il faut modifier sa
configuration. ;-)


OK vu, voir mon autre post...

--
Jacques PERROCHEAU
Synthèse et Electrosynthèse Organiques, C.N.R.S. UMR 6510
Université de Rennes I, Campus de Beaulieu, F-35042 RENNES Cedex
Tel: +33 2 23 23 63 74, Fax: +33 2 23 23 63 74



Avatar
Jacques Perrocheau
In article <1hzaqca.kln0v41d3xnesN%,
(JiPaul) wrote:

Donc pour résumer ce point et le troisième :

1) Ne pas oublier de lancer X11 sur le Mac ;-) oui je sais c'est
évident, mais je préfère le préciser

2) Utiliser pour se connecter sur la machine distante :
- soit un xterm ouvert dans X11
- soit l'application Terminal ouverte depuis un tel xterm
- soit l'application Terminal dans laquelle on définie manuellement
la variable DISPLAY par : export DISPLAY=':0.0'
(si on est en bash ou compatible Bourne shell)
ou par : setenv DISPLAY ':0.0'
(si on est en csh ou tcsh)

3) La commande de connexion est alors la suivante :
ssh -X

et en général ça marche.
Sauf si la machine distante n'a pas été configurée convenablement. Pour
moi, ça ne m'est jamais arrivé, donc je n'en parlerai pas.


Voilà tu as bien résumé.


Sans oublier le point 5 révisé par Paul si on veut le faire avec un Mac
OS X "sorti de la boite":

Sur Mac OS X, il faut éditer le fichier /etc/ssshd_config pour ajouter
la ligne :

X11Forwarding yes

(Par défaut c'est 'no')

--
Jacques PERROCHEAU
Synthèse et Electrosynthèse Organiques, C.N.R.S. UMR 6510
Université de Rennes I, Campus de Beaulieu, F-35042 RENNES Cedex
Tel: +33 2 23 23 63 74, Fax: +33 2 23 23 63 74

Avatar
Thomas
In article (Dans l'article) ,
Paul Gaborit wrote (écrivait) :

À (at) Wed, 06 Jun 2007 16:35:12 +0200,
Paul Gaborit écrivait (wrote):
À (at) Wed, 06 Jun 2007 13:58:22 +0200,
Thomas écrivait (wrote):
[:~] thomas% /usr/X11R6/bin/xauth list
/usr/X11R6/bin/xauth: creating new authority file
/Users/thomas/.Xauthority
[:~] thomas% cat ~/.Xauthority
cat: /Users/thomas/.Xauthority: No such file or directory


En fait, même après un 'ssh -X...' le fichier .Xauthority n'est pas
rempli (il n'existe même pas).



oui


Ce que vous obtenez via l'appel à 'xauth list' est normal. Il crée un
fichier vide et le supprimer tout de suite. Ce qui n'est pas normal
c'est qu'il soit vide alors que la connexion via 'ssh -X...' devrait
le remplir.


X11 est-il bien correctement installé sur le mac distant ?


bah oui, je crois ...

ssh -X marchait avec 10.4.3, j'ai juste fait la maj combinée vers 10.4.9,
et open office marche toujours en local (là bas) sans aucun pb

--
Informations sur Nicolas Sarkozy :
http://www.betapolitique.fr/spip.php?article0602
http://www.betapolitique.fr/spip.php?article0601
http://www.betapolitique.fr/spip.php?article0414
http://www.betapolitique.fr/spip.php?article0606
http://tDeContes.hd.free.fr/divers/Ruptures.pdf