OVH Cloud OVH Cloud

ssh sous linux et X11

16 réponses
Avatar
Laurent Bruder
Bonjour.

Depuis peu je n'arrive plus à executer une application X distante via ssh.
Je m'explique:
soit une machine nommée "ipg", qui tourne de manièere autonaume (sans
clavier/écran).

A partir d'une autre machine je me connecte sur ipg via ssh:
[lol@gen4 lol] ssh utilisateur@ipg
Là tout se passe bien, j'ai la main, je peux executer des applications
en mode texte (ls, mc, cp, make ...)
Mais lorsque je veux lancer une application X quelconque:

lol@ipg lol $ xlogo
_X11TransSocketOpen: socket() failed for tcp
_X11TransSocketOpenCOTSClient: Unable to open socket for tcp
_X11TransOpen: transport open failed for tcp/localhost:11
Error: Can't open display: localhost:11.0

bien sûr dans /etc/ssh/ssh_config j'ai mis "ForwardX11 yes"
et dans le sshd_config de la machine ipg: "X11Forwarding yes"
A priori c'est dû à la mise à jour de sshd (>=3.8) sur la machine serveur:
la faq (http://www.openssh.org/faq.html#3.13) me donne:
"As documented in the 3.8 release notes, ssh will now use untrusted X11
cookies by default. The previous behaviour can be restored by setting
ForwardX11Trusted yes in ssh_config."
j'ai bien sûr mis "ForwardX11Trusted yes" dans mod /etc/ssh/ssh_config
J'ai aussi essayé de me connecter en tapant: ssh -X -Y utilisateur@ipg
Mais sans résultat quant aux applis X.

Je ne sais plus où chercher, et google ne m'a pas été d'une grande aide.
J'ai bien encore une idée: le noyau et/ou iptables.
Cela dit j'utilise les mêmes règles iptables depuis fort longtemps.
J'ai bien entendu essayé avec aucune règle dans iptables.
mon kernel: 2.6.6.

Le problème vient de la machine serveur, pas du client ssh, puisque
j'arrive a executer des apps X sur une autre machine via ssh.

Une idée ?

Merci !

10 réponses

1 2
Avatar
sebastien BOMBAL
Laurent Bruder wrote:



A partir d'une autre machine je me connecte sur ipg via ssh:
[ lol] ssh
Là tout se passe bien, j'ai la main, je peux executer des applications
en mode texte (ls, mc, cp, make ...)
Mais lorsque je veux lancer une application X quelconque:

lol $ xlogo
_X11TransSocketOpen: socket() failed for tcp
_X11TransSocketOpenCOTSClient: Unable to open socket for tcp
_X11TransOpen: transport open failed for tcp/localhost:11
Error: Can't open display: localhost:11.0



Une fois logguer il semble que tu est oublié de faire sur ipg la commande
suivante:
$>export DISPLAY=client:0.0
ou
$>setenv DISPLAY client:0.0

ou client est ton (adresse IP/hostname) du client SSH
0 le numéro du display
.0 le numéro de l'écran

Ca marche ?

Cordialement

--
Sébastien BOMBAL
IDEALX - Ingénieur Système

Avatar
FAb
sebastien BOMBAL writes:

Laurent Bruder wrote:



A partir d'une autre machine je me connecte sur ipg via ssh:




lol $ xlogo
_X11TransSocketOpen: socket() failed for tcp
_X11TransSocketOpenCOTSClient: Unable to open socket for tcp
_X11TransOpen: transport open failed for tcp/localhost:11
Error: Can't open display: localhost:11.0



Le display pointe sur ipg

Une fois logguer il semble que tu est oublié de faire sur ipg la commande
suivante:
$>export DISPLAY=client:0.0
ou
$>setenv DISPLAY client:0.0

ou client est ton (adresse IP/hostname) du client SSH
0 le numéro du display
.0 le numéro de l'écran


Normalement inutile avec le X11 Forwarding.
Mais cela marchera certainement si la cnx est initiée depuis
le client par :

[ lol] ssh -X

-X force le X11 forward.


Avatar
Laurent Bruder
sebastien BOMBAL wrote:


Une fois logguer il semble que tu est oublié de faire sur ipg la commande
suivante:
$>export DISPLAY=client:0.0
ou
$>setenv DISPLAY client:0.0

ou client est ton (adresse IP/hostname) du client SSH
0 le numéro du display
.0 le numéro de l'écran




inutile: le forward X11 le fait déjà:
echo $DISPLAY me donne bien "localhost:11.0" (ou une autre valeur, selon
le nbre d'utilisateurs loggés via ssh sur la machine).
Dans ce cas je peux "telneter" localhost sur le port 6011 ce qui prouve
que le relais est bien activé.

Mais malgré ça les applis X ne veulent pas....

a+

Avatar
Vincent Bernat
OoO En ce début d'après-midi nuageux du jeudi 01 juillet 2004, vers
14:45, Laurent Bruder disait:

lol $ xlogo
_X11TransSocketOpen: socket() failed for tcp
_X11TransSocketOpenCOTSClient: Unable to open socket for tcp
_X11TransOpen: transport open failed for tcp/localhost:11
Error: Can't open display: localhost:11.0


Essaie dans le sshd_config "X11UseLocalhost No".
--
I AM NOT A LICENSED HAIRSTYLIST
I AM NOT A LICENSED HAIRSTYLIST
I AM NOT A LICENSED HAIRSTYLIST
-+- Bart Simpson on chalkboard in episode AABF04

Avatar
bLa
On 02 Jul 2004 09:13:05 GMT
Laurent Bruder wrote:

inutile: le forward X11 le fait déjà:
echo $DISPLAY me donne bien "localhost:11.0" (ou une autre valeur, selon
le nbre d'utilisateurs loggés via ssh sur la machine).
Dans ce cas je peux "telneter" localhost sur le port 6011 ce qui prouve
que le relais est bien activé.

Mais malgré ça les applis X ne veulent pas....



xhost +



+a

bLa.

Avatar
Alain Thivillon
xhost +


Ca fait quand meme deux réponses débiles sur ce thread :)
Faut il renommer ce groupe fr.comp.insecurite ?

--
Nom d'un chat de nom d'un chat !

Avatar
Alain Montfranc
Alain Thivillon wrote:

xhost +



Ca fait quand meme deux réponses débiles sur ce thread :)
Faut il renommer ce groupe fr.comp.insecurite ?


Ceci dit si la machine est sur un LAN protégé (par exemple sur une
connexion perso adsl derriere un FW), yapadgrosrisques ;-)

Faut il renommer ce groupe fr.psy.paranoia ? ;-)

Mais tu as raison, autant prendre les bons reflexes pour eviter les
grosses conneries....





Avatar
Patrice Auffret
On 01 Jul 2004 12:45:27 GMT
Laurent Bruder wrote:

[..]
lol $ xlogo
_X11TransSocketOpen: socket() failed for tcp
_X11TransSocketOpenCOTSClient: Unable to open socket for tcp
_X11TransOpen: transport open failed for tcp/localhost:11
Error: Can't open display: localhost:11.0
[..]



localhost est resolu ? par /etc/hosts ...

Avatar
Cedric Blancher
Le Fri, 02 Jul 2004 14:32:24 +0000, Alain Montfranc a écrit :
Ceci dit si la machine est sur un LAN protégé (par exemple sur une
connexion perso adsl derriere un FW), yapadgrosrisques ;-)
Faut il renommer ce groupe fr.psy.paranoia ? ;-)


Le problème, c'est que "xhost +" ne sert à rien dans le cas présent. On
n'a pas besoin de lancer ce genre de commande pour faire du forwarding
X11. Et en plus, ça pose des problèmes de sécurité :

1. réponse qui n'arrangera pas le problème
2. réponse qui ouvre une faille grosse comme ça

Je penche donc dans le sens d'Alain.

--
BOFH excuse #164:

root rot

Avatar
Laurent Bruder
Patrice Auffret wrote:

localhost est resolu ? par /etc/hosts ...


bien sûr.


lol $ cat /etc/hosts
127.0.0.1 localhost.localdomain localhost

1 2