Redirection X via ssh et Debian

19 réponses
Avatar
Mourad Jaber
Bonjour,

J'ai un soucis avec laredirection X sous debian...
quand je fait un ssh -X machinecible où la machine cible est une machine
debian, j'ai une erreur dès que j'essai de lancer une application X, il
manque la variable DISPLAY !

Par contre avec une machine cible ubuntu, pas de problème et j'ai
effectivement la variable DISPLAY qui possède une valeur !

Comment résoudre ce problème sous debian ?

++

Mourad

--
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.org/fr/FrenchLists

Pour vous DESABONNER, envoyez un message avec comme objet "unsubscribe"
vers debian-user-french-REQUEST@lists.debian.org
En cas de soucis, contactez EN ANGLAIS listmaster@lists.debian.org
Archive: http://lists.debian.org/4C4C3F0B.6010808@nativobject.net

10 réponses

1 2
Avatar
Stephane Bortzmeyer
On Sun, Jul 25, 2010 at 03:44:56PM +0200,
Erwan David wrote
a message of 30 lines which said:

Va voir dans le /etc/ssh/sshd_config pour activer le tunnel X11.

X11Forwarding yes



Ça peut être aussi le paquet xauth (qui contient le programme du même
nom, qui configure l'autorisation X11) qui n'est pas installé sur le
serveur SSH.

--
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.org/fr/FrenchLists

Pour vous DESABONNER, envoyez un message avec comme objet "unsubscribe"
vers
En cas de soucis, contactez EN ANGLAIS
Archive: http://lists.debian.org/
Avatar
Mourad Jaber
Le 25/07/2010 16:37, Stephane Bortzmeyer a écrit :
On Sun, Jul 25, 2010 at 03:44:56PM +0200,
Erwan David wrote
a message of 30 lines which said:


Va voir dans le /etc/ssh/sshd_config pour activer le tunnel X11.

X11Forwarding yes



Ça peut être aussi le paquet xauth (qui contient le programme du même
nom, qui configure l'autorisation X11) qui n'est pas installé sur le
serveur SSH.




Bien vu, c'était la paquet xauth qui n'était pas installé !

Merci

++

Mourad

--
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.org/fr/FrenchLists

Pour vous DESABONNER, envoyez un message avec comme objet "unsubscribe"
vers
En cas de soucis, contactez EN ANGLAIS
Archive: http://lists.debian.org/
Avatar
C. Mourad Jaber
On 25/07/2010 16:53, Mourad Jaber wrote:


Le 25/07/2010 16:37, Stephane Bortzmeyer a écrit :
On Sun, Jul 25, 2010 at 03:44:56PM +0200,
Erwan David wrote
a message of 30 lines which said:

Va voir dans le /etc/ssh/sshd_config pour activer le tunnel X11.

X11Forwarding yes


Ça peut être aussi le paquet xauth (qui contient le programme du même
nom, qui configure l'autorisation X11) qui n'est pas installé sur le
serveur SSH.



Bien vu, c'était la paquet xauth qui n'était pas installé !

Merci

++

Mourad



J'ai retenté lexpérience sur une autre machine, celle-ci est en 64bits
et installée recement...
Pour sshd_config j'ai :

X11Forwarding yes
X11DisplayOffset 10

J'ai essayé de donner des droits supplémentaires, mais sans succès avec
xhost :
# xhost +
xhost: unable to open display ""

effectivement la variable DISPLAY n'est pas présente...

En forcant la valeur de DISPLAY, j'ai le même résultat :(

J'ai ajouté ça dans le ssh_config :
Host *
ForwardAgent yes
ForwardX11 yes
ForwardX11Trusted yes

Mais ça ne change rien... ce que est très curieux, c'est que ma machine
sous ubuntu à exactement la même configuration ssh (avant mes dernières
modifications) et ça marche sans difficulté !

Si quelqu'un a une autre idée, je suis prenneur !...

++

Mourad

--
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.org/fr/FrenchLists

Pour vous DESABONNER, envoyez un message avec comme objet "unsubscribe"
vers
En cas de soucis, contactez EN ANGLAIS
Archive: http://lists.debian.org/
Avatar
Stephane Bortzmeyer
On Sun, Jul 25, 2010 at 10:30:47PM +0200,
C. Mourad Jaber wrote
a message of 65 lines which said:

J'ai essayé de donner des droits supplémentaires, mais sans succès avec
xhost :
# xhost +



Surtout pas. Ne jamais faire cela, si ça avait marché, tout l'Internet
avait le droit de lire et d'écrire sur votre clavier/écran !

En forcant la valeur de DISPLAY,



Cela se faisait avant l'invention de ssh, autant dire au siècle
précédent.

Si quelqu'un a une autre idée, je suis prenneur !...



Celle que j'ai indiquée dans mon premier message...

--
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.org/fr/FrenchLists

Pour vous DESABONNER, envoyez un message avec comme objet "unsubscribe"
vers
En cas de soucis, contactez EN ANGLAIS
Archive: http://lists.debian.org/
Avatar
Yves Rutschle
On Sun, Jul 25, 2010 at 10:49:26PM +0200, Stephane Bortzmeyer wrote:
> # xhost +

Surtout pas. Ne jamais faire cela, si ça avait marché, tout l'Internet
avait le droit de lire et d'écrire sur votre clavier/écran !



Uniquement si on n'a pas de pare-feu devant la machine qui
fait tourner X, non? (i.e. il faut que le port 5900+ soit
accessible depuis l'Internet?)

Y.

--
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.org/fr/FrenchLists

Pour vous DESABONNER, envoyez un message avec comme objet "unsubscribe"
vers
En cas de soucis, contactez EN ANGLAIS
Archive: http://lists.debian.org/
Avatar
moi-meme
Le Sun, 25 Jul 2010 23:20:02 +0200, Yves Rutschle a écrit :

Uniquement si on n'a pas de pare-feu devant la machine qui fait tourner
X, non? (i.e. il faut que le port 5900+ soit accessible depuis
l'Internet?)



cela veut-il dire que ssh -X ne crée pas un tunnel à la différence de ssh
-Y ?
(-X nécessite les ports X11 6000 en plus et -Y est un tunnel donc 22
suffit ?)

(ma lanterne est un peu éteinte dans le domaine ...)

des lumières ou une URL seraient bienvenues...

--
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.org/fr/FrenchLists

Pour vous DESABONNER, envoyez un message avec comme objet "unsubscribe"
vers
En cas de soucis, contactez EN ANGLAIS
Archive: http://lists.debian.org/4c4d3dba$0$23169$
Avatar
Xavier Oswald
On 15:41 Sun 25 Jul , Mourad Jaber wrote:
Bonjour,

J'ai un soucis avec laredirection X sous debian...
quand je fait un ssh -X machinecible où la machine cible est une
machine debian, j'ai une erreur dès que j'essai de lancer une
application X, il manque la variable DISPLAY !

Par contre avec une machine cible ubuntu, pas de problème et j'ai
effectivement la variable DISPLAY qui possède une valeur !

Comment résoudre ce problème sous debian ?



J'avais deja eu ce genre de soucis..

De mémoire, je faisais:

machine locale:
* Enlever l'option no listen TCP du serveur X /etc/X11/xinit/xserverrc
* Lancer X a la main avec startx et non via KDM/GDM car il écrase sinon cette valeur

machine distante:
* Lancer export DISPLAY=machine:0.0 (si 0.0 est le display de la machine)


Avec quelque chose comme ca, tu devrais t'en sortir...


Amicalement,
--
Xavier Oswald
GNU/Linux Debian Developer - http://www.debian.org/
GPG key IDs: 0x88BBB51E, 0x464B8DE3

--
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.org/fr/FrenchLists

Pour vous DESABONNER, envoyez un message avec comme objet "unsubscribe"
vers
En cas de soucis, contactez EN ANGLAIS
Archive: http://lists.debian.org/
Avatar
Julien Demange
Salut,

Le 26/07/2010 09:48, moi-meme a écrit :
Le Sun, 25 Jul 2010 23:20:02 +0200, Yves Rutschle a écrit :

Uniquement si on n'a pas de pare-feu devant la machine qui fait tourner
X, non? (i.e. il faut que le port 5900+ soit accessible depuis
l'Internet?)



cela veut-il dire que ssh -X ne crée pas un tunnel à la différence de ssh
-Y ?



Ben si. Mais ça n'a rien a voir avec ce qui est actif sur le serveur.
Si tu fais "xhost +" tu autorise toute personne qui peut initier un
session TCP sur le bon port de la machine, à accéder au serveur X !
Après, si on limite l'écoute sur 127.0.0.1 alors ça restreint un peu aux
connexion local et ssh ; si tu as un firewall devant, ça va également
limiter, mais ça n'en est pas pour autant sécurisé, je donne jamais très
cher de la sécurité des réseaux ou l'admin se préoccupe peu des ports
actif sur les machines en se disant "j'ai un FW" ;)


(-X nécessite les ports X11 6000 en plus et -Y est un tunnel donc 22
suffit ?)



Pour ssh je ne crois pas que "-Y" puisse marcher sans "-X" ?
Par contre, "-X" est une option implicite dans la conf de beaucoup de
client "openSSH" (désactivable avec "ssh -x")

Cela dit, j'ai jamais très bien compris comment marche xauth :(


--
Julien

--
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.org/fr/FrenchLists

Pour vous DESABONNER, envoyez un message avec comme objet "unsubscribe"
vers
En cas de soucis, contactez EN ANGLAIS
Archive: http://lists.debian.org/
Avatar
Simon Chopin
--0016e6d975c7904fda048c47419d
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: quoted-printable

2010/7/26 Julien Demange

Salut,

Le 26/07/2010 09:48, moi-meme a écrit :

Le Sun, 25 Jul 2010 23:20:02 +0200, Yves Rutschle a écrit :

Uniquement si on n'a pas de pare-feu devant la machine qui fait tourner
X, non? (i.e. il faut que le port 5900+ soit accessible depuis
l'Internet?)




cela veut-il dire que ssh -X ne crée pas un tunnel à la différence de ssh
-Y ?




Ben si. Mais ça n'a rien a voir avec ce qui est actif sur le serveur.
Si tu fais "xhost +" tu autorise toute personne qui peut initier un sessi on
TCP sur le bon port de la machine, à accéder au serveur X !
Après, si on limite l'écoute sur 127.0.0.1 alors ça restreint un pe u aux
connexion local et ssh ; si tu as un firewall devant, ça va également
limiter, mais ça n'en est pas pour autant sécurisé, je donne jamais très
cher de la sécurité des réseaux ou l'admin se préoccupe peu des p orts actif
sur les machines en se disant "j'ai un FW" ;)



(-X nécessite les ports X11 6000 en plus et -Y est un tunnel donc 22
suffit ?)




Pour ssh je ne crois pas que "-Y" puisse marcher sans "-X" ?
Par contre, "-X" est une option implicite dans la conf de beaucoup de
client "openSSH" (désactivable avec "ssh -x")

Cela dit, j'ai jamais très bien compris comment marche xauth :(


--
Julien

Salut,



Si je peux apporter mon grain de sel, les deux options créent un tunnel S SH
qui fait que le serveur X de ta machine locale (celle qui lance ssh) est
accessible sur ta machine distante (qui fait tourner sshd) via :10.0 ou un
truc dans le genre. Sauf que -Y authentifie la connexion au serveur X via l e
système xauth dont je ne comprends pas grand chose (il n'y a pas une
histoire de cookie dans le tas ?), alors que -X se connecte simplement en
TCP sans chercher à s'authentifier auprès de X. xhost + (qui doit êtr e lancé
par l'utilisateur qui possède l'instance du serveur X, soit en généra l
l'utilisateur courant) ne devrait en effet ne jamais être utilisé si on peut
faire autrement.

En tout cas, un simple ssh -Y devrait passer. Par contre,
si tu lance ton ssh dans une console où tu as fait un su avant, il ya des
chances que la variable d'environnement DISPLAY ne soit pas disponible (et
donc non-communicable à SSH). Dans ce cas-là, essaie :
$ DISPLAY=:0.0 ssh -y

Cordialement,

Simon

--0016e6d975c7904fda048c47419d
Content-Type: text/html; charset=ISO-8859-1
Content-Transfer-Encoding: quoted-printable

<br><div class="gmail_quote">2010/7/26 Julien Demange <span dir="ltr">& lt;<a href="mailto:"> t.fr</a>&gt;</span><br><blockquote class="gmail_quote" style="margin: 0 pt 0pt 0pt 0.8ex; border-left: 1px solid rgb(204, 204, 204); padding-left: 1ex;">
Salut,<br>
<br>
Le 26/07/2010 09:48, moi-meme a écrit :<div class="im"><br>
<blockquote class="gmail_quote" style="margin: 0pt 0pt 0pt 0.8ex; borde r-left: 1px solid rgb(204, 204, 204); padding-left: 1ex;">
Le Sun, 25 Jul 2010 23:20:02 +0200, Yves Rutschle a écrit :<br>
<br>
<blockquote class="gmail_quote" style="margin: 0pt 0pt 0pt 0.8ex; borde r-left: 1px solid rgb(204, 204, 204); padding-left: 1ex;">
Uniquement si on n&#39;a pas de pare-feu devant la machine qui fait tourner <br>
X, non? (i.e. il faut que le port 5900+ soit accessible depuis<br>
l&#39;Internet?)<br>
</blockquote>
<br>
cela veut-il dire que ssh -X ne crée pas un tunnel à la différence de ssh<br>
-Y ?<br>
</blockquote>
<br></div>
Ben si. Mais ça n&#39;a rien a voir avec ce qui est actif sur le serveur. <br>
Si tu fais &quot;xhost +&quot; tu autorise toute personne qui peut initier un session TCP sur le bon port de la machine, à accéder au serveur X !< br>
Après, si on limite l&#39;écoute sur 127.0.0.1 alors ça restreint un peu aux connexion local et ssh ; si tu as un firewall devant, ça va éga lement limiter, mais ça n&#39;en est pas pour autant sécurisé, je don ne jamais très cher de la sécurité des réseaux ou l&#39;admin se pr éoccupe peu des ports actif sur les machines en se disant &quot;j&#39;ai un FW&quot; ;)<div class="im">
<br>
<br>
<br>
<blockquote class="gmail_quote" style="margin: 0pt 0pt 0pt 0.8ex; borde r-left: 1px solid rgb(204, 204, 204); padding-left: 1ex;">
(-X nécessite les ports X11 6000 en plus et -Y est un tunnel donc 22<br>
suffit ?)<br>
</blockquote>
<br></div>
Pour ssh je ne crois pas que &quot;-Y&quot; puisse marcher sans &quot;-X&qu ot; ?<br>
Par contre, &quot;-X&quot; est une option implicite dans la conf de beaucou p de client &quot;openSSH&quot; (désactivable avec &quot;ssh -x&quot;)<br >
<br>
Cela dit, j&#39;ai jamais très bien compris comment marche xauth :(<br>
<br>
<br>
-- <br>
Julien<div class="im"><br></div></blockquote><div>Salut,<br><br>Si je peu x apporter mon grain de sel, les deux options créent un tunnel SSH qui fa it que le serveur X de ta machine locale (celle qui lance ssh) est accessib le sur ta machine distante (qui fait tourner sshd) via :10.0 ou un truc dan s le genre. Sauf que -Y authentifie la connexion au serveur X via le syst ème xauth dont je ne comprends pas grand chose (il n&#39;y a pas une hist oire de cookie dans le tas ?), alors que -X se connecte simplement en TCP s ans chercher à s&#39;authentifier auprès de X. xhost + (qui doit être lancé par l&#39;utilisateur qui possède l&#39;instance du serveur X, s oit en général l&#39;utilisateur courant) ne devrait en effet ne jamais être utilisé si on peut faire autrement.<br>
<br>En tout cas, un simple ssh -Y devrait passer. Par con tre, si tu lance ton ssh dans une console où tu as fait un su avant, il y a des chances que la variable d&#39;environnement DISPLAY ne soit pas dispo nible (et donc non-communicable à SSH). Dans ce cas-là, essaie :<br>
$ DISPLAY=:0.0 ssh -y <br><br>Cordialement,<br><br>Simon <br></div></div>

--0016e6d975c7904fda048c47419d--

--
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.org/fr/FrenchLists

Pour vous DESABONNER, envoyez un message avec comme objet "unsubscribe"
vers
En cas de soucis, contactez EN ANGLAIS
Archive: http://lists.debian.org/AANLkTi=4jMOhYTZn+kDtyE+7zqoXJ-=
Avatar
moi-meme
Le Mon, 26 Jul 2010 11:20:02 +0200, Julien Demange a écrit :

Si tu fais "xhost +" tu autorise toute personne qui peut initier un
session TCP sur le bon port de la machine, à accéder au serveur X !



question :
un nmap du client:
-->[ ~] nmap 192.168.10.150

Starting Nmap 4.62 ( http://nmap.org ) at 2010-07-26 12:02 CEST
Interesting ports on 192.168.10.150:
Not shown: 1712 closed ports
PORT STATE SERVICE
22/tcp open ssh
37/tcp open time
113/tcp open auth

Nmap done: 1 IP address (1 host up) scanned in 0.730 seconds

Le "xhost +" n'ouvre pas de port supplémentaire (dixit nmap)
et avant je n'ai pas possibilité d'ouvrir de fenêtre X.
Je ne le vois pas ouvert ce port X11.

Plutôt que de continuer à polluer, vous n'avez pas une petite URL pour
neuneu comme moi que je meure (?) moins idiot ?

--
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.org/fr/FrenchLists

Pour vous DESABONNER, envoyez un message avec comme objet "unsubscribe"
vers
En cas de soucis, contactez EN ANGLAIS
Archive: http://lists.debian.org/4c4d5de8$0$23918$
1 2