OVH Cloud OVH Cloud

X11, affichage déporté... autres question de béotien

60 réponses
Avatar
Jacques Perrocheau
Bonjour,

Enhardi par mes nouvelles connaissances en affichage déporté
d'application Xwindow, je me suis dis que je pouvais aussi faire des
tests et me faire la main en X11 déporté entre deux Mac OS 10.3.7 sur
lesquels X11 a été installé. Eh! bien ça ne marche pas...

Après avoir dans xterm tapé la commande magique:

ssh -X toto@LaMachine

puis xlogo ou xclock, j'ai droit à un:

Error: Can't open display:

Ai-je loupé une marche ou est-ce "normal" ? Chacun a bien vu que mes
connaissances en Xwindow étaient "minimales".

Je précise que le X11 de la machine sur laquelle je suis fonctionne
toujours normalement en local et même en distant vers la précédente
machine Linux où je faisais "mes essais".

Merci pour vos avis toujours éclairés ;).

--
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

10 réponses

1 2 3 4 5
Avatar
Patrick Stadelmann
In article , FiLH wrote:

La variable DISPLAY ne doit pas être positionnée par des scripts de
login.


Qui doit le faire alors ? L'utilisateur à la main ? L'admin qui a écrit
ces scripts (il y a 15 ans je pense, bien avant que l'on passe à ssh)
l'a fait pour simplifier la vie des utilisateurs.

Patrick
--
Patrick Stadelmann

Avatar
Saïd
Patrick Stadelmann :
In article , FiLH wrote:

La variable DISPLAY ne doit pas être positionnée par des scripts de
login.


Qui doit le faire alors ? L'utilisateur à la main ? L'admin qui a écrit
ces scripts (il y a 15 ans je pense, bien avant que l'on passe à ssh)
l'a fait pour simplifier la vie des utilisateurs.



Elle est mise en place par ssh quand le forwarding X11 est active.
Exemple (sachant que dans mes scripts rien ne modifie DISPLAY)

dhcp132-231-~ $ echo $DISPLAY
:0.0
dhcp132-231-~ $ ssh kahina
Linux kahina 2.4.26+02.2-p4-hm #1 Tue Jun 1 19:44:25 CEST 2004 i686 unknown
================================================= kahina
=================================================
No mail.
ladjal/kahina - ~ $ echo $DISPLAY
localhost:10.0

(kahina est une machine linux)


--
Saïd.
C programmers never die - they're just cast into void.


Avatar
Patrick Stadelmann
In article , FiLH wrote:

Patrick Stadelmann writes:

Et comme mon client
X11 tourne sur LaMachine, ssh ou pas je suis bien obligé de la
considérer sûre.


Si je peux me permettre, on commence par faire des xhosts + dans des
environnements plus ou moins maîtrisés, puis on finit par en faire
n'importe où.


Si une machine n'est pas considérée comme sûre, je ne vais pas non plus
me connecter dessus en ssh avec X11 déporté ! Au lieu de d'espionner mon
clavier via le serveur X, quelqu'un de mal intentionné pourrait tout à
fait observer le clavier en hackant le client X, non ?

Patrick
--
Patrick Stadelmann


Avatar
Patrick Stadelmann
In article ,
Saïd wrote:

Patrick Stadelmann :
In article ,
Saïd wrote:

Sur la machine distante, que donne echo $DISPLAY?


Il pointe sur l'autre machine (il y est réglé par le script de login).



Mauvais script. Il faut tester si la variable DISPLAY est definie avant de
la creer.


Je n'en suis pas l'auteur ;-)

Ce n'est pas toujours 10.0, donc mieux vaut que tu modifies ton script de
login. J'ai ca dans mes scripts (sous zsh):


Je verrai avec l'admin des machines en question. Donc s'il n'y a pas de
définition de DISPLAY dans le script, la variable sera définie
automatiquement (et correctement) ?

Patrick
--
Patrick Stadelmann



Avatar
Patrick Stadelmann
In article <41e404dc$0$31781$,
YBM wrote:

Bon il semblerait qu'il vaille mieux éviter cette commande et passer par
ssh (voir les autres réponses). Donc il faut faire, sur la machine
distante :

setenv DISPLAY localhost:10

(à "traduire" si nécessaire en fonction du shell utilisé).



non, non et triple non ! Il faut laisser ssh et sshd négocier et
positionner cette variable, le "10" ne tombe pas du ciel.


Oui, mais dans le cas (le mien en l'occurrence) ou l'on est pas admin
sur la machine distant, on ne peut pas changer ce comportement.

Avec xhost +mamachine (qui d'ailleurs ne marche pas avec les
configurations sécurisées du serveur X) il y a deux problèmes :

- on autorise *tout* utilisateur de la machine à accéder au
serveur X (affichage *et* clavier !)


Avec le tunnel SSH, le client X11 tourne sur cette même machine, et donc
un utilisateur avec les privilèges nécessaire pourrait aussi m'espionner
donc il faut tout de même que l'on puisse faire confiance à la machine.

- le traffic X11 se fait en clair à travers le réseau, on peut
capturer les évènements du clavier, etc.


Là en effet, si cette possibilité d'écoute existe le tunnel ssh permet
de sécuriser la communication.

ça doit être activé dans sshd_config (X11Forwarding yes) et
peut être rendu automatique du côté client (plus besoin de '-X') dans
ssh_config (ForwardX11 yes).


OK, je vais voir pour faire mettre à jour tout ça.

Patrick
--
Patrick Stadelmann


Avatar
Jacques Perrocheau
In article ,
Patrick Stadelmann wrote:

Bon il semblerait qu'il vaille mieux éviter cette commande et passer par
ssh (voir les autres réponses). Donc il faut faire, sur la machine
distante :

setenv DISPLAY localhost:10

(à "traduire" si nécessaire en fonction du shell utilisé).


Traduit en "bash" cela donnerait:

export DISPLAY="localhost:10.0"

OK ?

On y va: ;)

mac-amoi:~ moi$ ssh -X
's password:
Last login: Tue Jan 11 17:21:58 2005 from 129.20.73.25
Welcome to Darwin!
mac-LaMachine:~ toto$ echo $DISPLAY
; <- ici un vide éloquant!
mac-LaMachine:~ toto$ export DISPLAY="localhost:10.0"
mac-LaMachine:~ toto$ echo $DISPLAY
localhost:10.0
mac-LaMachine:~ toto$ xlogo
Error: Can't open display: localhost:10.0

Au secours !!!

Je précise pour répondre à une autre remarque de FiLH que j'ai bien
coché dans les préférences de X11 à l'onglet Security "Authenticate
connections" et "Allow connections from networks clients

--
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 ,
Saïd wrote:

Sur la machine distante, que donne echo $DISPLAY?
En passant par ssh le DISPLAY (sur la machine distante) vaut localhost:10.0
(ou 11.0...) ce qui veut dire que les programmes X11 lances sur la machine
distante se connectent a un serveur local (de la machine distante) et pas au
serveur qui gere effectivement l'affichage (celui de la machine locale).

C'est ssh qui transmet tout ce qui est envoye a localhost:10.0 vers la
machine locale (qui porte le vrai affichage) par l'intermediaire d'un
tunnel.

En tout cas chez moi (entre linux et mac OS X et dans les deux
configurations possibles) je n'ai jamais besoin du xhost.


Je ne pensais pas déclencher une telle bataille... ;)

Bon pour le moment cela ne marche pas chez moi, voir mon post
Message-ID: <cs130e$m65$ en réponse à celui de
Patrick.

Quand vous aurez éclairci la question dans votre débat ;-), j'aurais
surement besoin d'un petit résumé au niveau "Unix pour les nuls"...

--
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
YBM
Oui, mais dans le cas (le mien en l'occurrence) ou l'on est pas admin
sur la machine distant, on ne peut pas changer ce comportement.


on peut lui demander, à sa place je préfèrerais un utilisateur qui fait
un ssh à un qui fait un xhost +

Avec le tunnel SSH, le client X11 tourne sur cette même machine, et donc
un utilisateur avec les privilèges nécessaire pourrait aussi m'espionner
donc il faut tout de même que l'on puisse faire confiance à la machine.


Certes, mais "faire confiance à la machine" c'est faire confiance à son
administrateur, pas à *tous* ses utilisateurs...

Avatar
Jacques Perrocheau
In article ,
Saïd wrote:

D'abord verifier que tes scripts de logins ne bousillent pas la variable
DISPLAY


J'ai des trucs concernant X11 respectivement dans mon .tcshrc
de mon mac-amoi:~ moi$
setenv DISPLAY :0.0

et mon .bashrc
export DISPLAY="localhost:0.0"

c'est tout.

echo $DISPLAY doit renvoyer qqch comme localhost:10.0 (sur la machine
distante, le 10 peut etre un 11 ou 12 en tout cas un localhost:0.0 est
completement suspect).


mac-amoi:~ moi$ ssh -X
's password:
Last login: Tue Jan 11 10:38:34 2005 from 129.20.73.25
Welcome to Darwin!
mac-LaMachine:~ toto$ echo $DISPLAY
<- ici un blanc éloquant
mac-LaMachine:~ toto$


ensuite dans les preferences de X11 de la machine sur laquelle s'affichent
les images (la machine locale) -> Security -> Allow connections from network
clients.


C'est fait.

Voir aussi mon post Message-ID: <cs130e$m65$

--
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
FiLH
Patrick Stadelmann writes:

In article <41e404dc$0$31781$,
YBM wrote:

Bon il semblerait qu'il vaille mieux éviter cette commande et passer par
ssh (voir les autres réponses). Donc il faut faire, sur la machine
distante :

setenv DISPLAY localhost:10

(à "traduire" si nécessaire en fonction du shell utilisé).



non, non et triple non ! Il faut laisser ssh et sshd négocier et
positionner cette variable, le "10" ne tombe pas du ciel.


Oui, mais dans le cas (le mien en l'occurrence) ou l'on est pas admin
sur la machine distant, on ne peut pas changer ce comportement.


Si j'ai bien suivi c'est dans votre script de login qui vous modifiiez
votre variable DISPLAY, perdant ainsi celle qui arrivait avec ssh !

Si ssh autorise le X11 forwarding, alros nécessairement la variable
DISPLAY est bien positionnée.


- on autorise *tout* utilisateur de la machine à accéder au
serveur X (affichage *et* clavier !)


Avec le tunnel SSH, le client X11 tourne sur cette même machine, et donc
un utilisateur avec les privilèges nécessaire pourrait aussi m'espionner
donc il faut tout de même que l'on puisse faire confiance à la machine.


Et les autres utilisateurs ?

FiLH


--
FiLH photography. A taste of freedom in a conventional world.
Web: http://www.filh.org e-mail
FAQ fr.rec.photo : http://frp.parisv.com/
Sitafoto la photo a Bordeaux : http://sitafoto.free.fr/



1 2 3 4 5