Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 24/12/2010, à 15:59

clement.analogue

[Résolu] ssh : ouvrir des applications graphiques

Bonjour,

cela fait un moment que je cherche sans trouver de réponse. Comment lancer des applications avec interface graphique depuis une session ssh ?

Je me connecte sur un ordinateur distant sans option ou avec les options -X, -C -X, -Y, mais j'ai à chaque fois la même erreur :

~$ nautilus .
Could not parse arguments: Impossible d'ouvrir l'affichage : 
~$

Voici mon fichier de configuration :

~$ cat /etc/ssh/sshd_config
Port 22
Protocol 2
HostKey /etc/ssh/ssh_host_rsa_key
HostKey /etc/ssh/ssh_host_dsa_key
UsePrivilegeSeparation yes
KeyRegenerationInterval 3600
ServerKeyBits 768
SyslogFacility AUTH
LogLevel INFO
LoginGraceTime 120
PermitRootLogin yes
StrictModes yes
RSAAuthentication yes
PubkeyAuthentication yes
IgnoreRhosts yes
RhostsRSAAuthentication no
HostbasedAuthentication no
PermitEmptyPasswords no
ChallengeResponseAuthentication no
X11Forwarding yes
X11DisplayOffset 10
PrintMotd no
PrintLastLog yes
TCPKeepAlive yes
Banner /etc/issue.net
AcceptEnv LANG LC_*
Subsystem sftp /usr/lib/openssh/sftp-server
UsePAM yes
AllowUsers

Mon serveur est sous Ubuntu 10.04.

Merci d'avance pour vos réponses.

Edit : J'ai oublié de mettre ça :

~$ cat /etc/ssh/ssh_config
Host *
#   ForwardAgent no
   ForwardX11 yes
   ForwardX11Trusted yes
#   RhostsRSAAuthentication no
#   RSAAuthentication yes
#   PasswordAuthentication yes
#   HostbasedAuthentication no
#   GSSAPIAuthentication no
#   GSSAPIDelegateCredentials no
#   GSSAPIKeyExchange no
#   GSSAPITrustDNS no
#   BatchMode no
#   CheckHostIP yes
#   AddressFamily any
#   ConnectTimeout 0
#   StrictHostKeyChecking ask
#   IdentityFile ~/.ssh/identity
#   IdentityFile ~/.ssh/id_rsa
#   IdentityFile ~/.ssh/id_dsa
#   Port 22
#   Protocol 2,1
#   Cipher 3des
#   Ciphers aes128-ctr,aes192-ctr,aes256-ctr,arcfour256,arcfour128,aes128-cbc,3des-cbc
#   MACs hmac-md5,hmac-sha1,umac-64@openssh.com,hmac-ripemd160
#   EscapeChar ~
#   Tunnel no
#   TunnelDevice any:any
#   PermitLocalCommand no
#   VisualHostKey no
    SendEnv LANG LC_*
    HashKnownHosts yes
    GSSAPIAuthentication yes
    GSSAPIDelegateCredentials no

Dernière modification par clement.analogue (Le 24/12/2010, à 16:58)


Site personnel
Association Ubuntu-Lyon : Organisation d'événements autour d'Ubuntu sur Lyon.
Venez discuter philosophie, exposez vos textes et réflexions, ...
Forum Analogue : Philosophie, sciences, art, actualité, etc.

Hors ligne

#2 Le 24/12/2010, à 16:27

Pacifick_FR42

Re : [Résolu] ssh : ouvrir des applications graphiques

??? d'ou tu sorts ses options ?? et surtout pourquoi 2 fois "-X" ? un simple "-X" devrait suffire... wink
Vérifie ton conf via la doc ssh

Hors ligne

#3 Le 24/12/2010, à 16:44

clement.analogue

Re : [Résolu] ssh : ouvrir des applications graphiques

Je me suis mal exprimer, je voulais dire que j'ai essayé les connexions suivantes :
ssh user@server
ssh -X user@server
ssh -C -X user@server
ssh -Y user@server
et à chaque fois j'ai le même message d'erreur.

Concernant le fichier de conf', j'ai bien "X11Forwarding yes", je pense que c'est suffisant.


Site personnel
Association Ubuntu-Lyon : Organisation d'événements autour d'Ubuntu sur Lyon.
Venez discuter philosophie, exposez vos textes et réflexions, ...
Forum Analogue : Philosophie, sciences, art, actualité, etc.

Hors ligne

#4 Le 24/12/2010, à 16:45

Pacifick_FR42

Re : [Résolu] ssh : ouvrir des applications graphiques

Regarde la doc, de tout façon, c'est -X

Hors ligne

#5 Le 24/12/2010, à 16:58

clement.analogue

Re : [Résolu] ssh : ouvrir des applications graphiques

Je me suis plongé dans la doc officielle et il y a une option "X11UseLocalhost" qui interdit le "forwarding" d'affichage distant par défaut, j'ai donc juste ajouté la ligne suivante au /etc/ssh/sshd_config :

X11UseLocalhost no

Puis relancer ssh. Il y a bon nombre de tuto qui ne sont pas à jour hmm


Site personnel
Association Ubuntu-Lyon : Organisation d'événements autour d'Ubuntu sur Lyon.
Venez discuter philosophie, exposez vos textes et réflexions, ...
Forum Analogue : Philosophie, sciences, art, actualité, etc.

Hors ligne

#6 Le 27/12/2010, à 12:21

Pacifick_FR42

Re : [Résolu] ssh : ouvrir des applications graphiques

Tu veux dire que la doc actuel du site n'est pas à jour ?

Hors ligne

#7 Le 27/12/2010, à 13:56

clement.analogue

Re : [Résolu] ssh : ouvrir des applications graphiques

J'ai fait quelques recherches et en fait ce n'est pas une nouvelle options comme je le pensais. Pour les autres tuto que j'ai trouvé on ne parle pas de cette option car implicitement ça parle d'exportation d'affichage local.

Les doc d'Ubuntu-fr et ubuntu.com ne parle de l'exportation d'affichage.

La doc officielle de openssh est très technique "loopback and wildback address" et des trucs comme ça qui ne sont pas forcément compréhensible par un néophyte.

Enfin, au moins ça fonctionne et ça me permet de travailler de manière fluide avec firefox, thunderbird et evince ouverts en même temps sur un ordi qui a 128Mo de ram


Site personnel
Association Ubuntu-Lyon : Organisation d'événements autour d'Ubuntu sur Lyon.
Venez discuter philosophie, exposez vos textes et réflexions, ...
Forum Analogue : Philosophie, sciences, art, actualité, etc.

Hors ligne

#8 Le 27/12/2010, à 14:33

Pacifick_FR42

Re : [Résolu] ssh : ouvrir des applications graphiques

C'est bon à savoir, merci wink

Hors ligne

#9 Le 27/12/2010, à 19:18

Peuks

Re : [Résolu] ssh : ouvrir des applications graphiques

Les applications à lancer sont sur le serveur distant non   ? par sur l'ordinateur qui contrôle le serveur  ?

C'est à dire lancer une applciation d'un ordi B sur l'ordi A via ssh  avec l'interface ?

Hors ligne

#10 Le 27/12/2010, à 20:29

clement.analogue

Re : [Résolu] ssh : ouvrir des applications graphiques

Je résume :
Je suis sur le poste client C, je me connecte sur le serveur S. Je lance depuis C un processus sur S mais l'affichage se fait sur C.


Site personnel
Association Ubuntu-Lyon : Organisation d'événements autour d'Ubuntu sur Lyon.
Venez discuter philosophie, exposez vos textes et réflexions, ...
Forum Analogue : Philosophie, sciences, art, actualité, etc.

Hors ligne

#11 Le 27/12/2010, à 21:12

MiNiShOoTeR

Re : [Résolu] ssh : ouvrir des applications graphiques

Salut,

Juste une piste, je ne connais pas énormément le domaine, mais je pense que tu devrais regarder du côté de la variable d'environnement DISPLAY.

EDIT : Je n'avais pas fait attention, mais le sujet est en résolu, donc désolé pour ma réponse sans doute inutile.

Dernière modification par MiNiShOoTeR (Le 27/12/2010, à 21:15)

Hors ligne

#12 Le 27/12/2010, à 21:28

clement.analogue

Re : [Résolu] ssh : ouvrir des applications graphiques

Effectivement, j'ai trouvé le problème (message 5). Mais merci quand même.


Site personnel
Association Ubuntu-Lyon : Organisation d'événements autour d'Ubuntu sur Lyon.
Venez discuter philosophie, exposez vos textes et réflexions, ...
Forum Analogue : Philosophie, sciences, art, actualité, etc.

Hors ligne

#13 Le 27/12/2010, à 22:01

Peuks

Re : [Résolu] ssh : ouvrir des applications graphiques

très intéressant . ça ne marche que si on a un serveur X11 ?  ( donc pas sur windows par exemple ? )

Pour lancer l'application sur la machine que l'on controle il faut tapper

DISPLAY=:0 la_commande_a_lancer

exemple

DISPLAY=:0 firefox

Hors ligne

#14 Le 27/12/2010, à 22:08

clement.analogue

Re : [Résolu] ssh : ouvrir des applications graphiques

Peuks : je ne sais pas s'il y a besoin d'avoir windows, je n'ai que ubuntu.

Pas la peine d'utiliser ta commande, lancer la connexion avec ssh -X pseudo@server est suffisant.


Site personnel
Association Ubuntu-Lyon : Organisation d'événements autour d'Ubuntu sur Lyon.
Venez discuter philosophie, exposez vos textes et réflexions, ...
Forum Analogue : Philosophie, sciences, art, actualité, etc.

Hors ligne

#15 Le 27/12/2010, à 22:15

MiNiShOoTeR

Re : [Résolu] ssh : ouvrir des applications graphiques

En effet, utiliser la variable DISPLAY est utile lorsque qu'il s'agit de plusieurs écrans connectés à un même ordinateur, dans le cas de SSH, c'est différent.

Hors ligne

#16 Le 27/12/2010, à 22:59

Peuks

Re : [Résolu] ssh : ouvrir des applications graphiques

Du coup quand cette option est activé comment faire pour continuer a lancer les applications graphiques sur le serveur et non plus sur sur le client ?

Hors ligne

#17 Le 27/12/2010, à 23:16

MiNiShOoTeR

Re : [Résolu] ssh : ouvrir des applications graphiques

Bonne question... dans ce cas il faut sans doute jouer avec la variable DISPLAY également, j'ai surement dit une bêtise à mon précédent post.

Hors ligne

#18 Le 27/12/2010, à 23:22

Peuks

Re : [Résolu] ssh : ouvrir des applications graphiques

avec -X je n'ai pas l'impression que ça fonctionne . Pas d'après mon interlocuteur .

DISPLAY=:0 est obligatoire meme avec -X

Hors ligne

#19 Le 27/12/2010, à 23:37

MiNiShOoTeR

Re : [Résolu] ssh : ouvrir des applications graphiques

Pour afficher côté client, en principe il suffit de préciser l'option -X et ça fonctionne !

Hors ligne

#20 Le 27/12/2010, à 23:59

Peuks

Re : [Résolu] ssh : ouvrir des applications graphiques

il me simple qu'il faut ajouter xhost ( quelque chose du genre ) et du coup je me demande si l'ajout de l'autre ligne était nécessaire .
Voici se que j'ai trouvé

Lancer une application graphique par SSH
Chose assez inhabituelle pour moi, j'ai deux machines qui tournent bien à disposition. Donc je peux m'amuser un peu avec... Question du jour : comment lancer une application graphique au travers de SSH, sans VNC ou autre outils de ce genre... Le but étant... euh... bon, y a pas vraiment de but. Mais je suis sur que ça peut servir.

Première chose : je pars du principe que vous savez activer sshd correctement sur la machine serveur, et ce avec ouverture du pare-feu. Pour les utilisateurs d'openSUSE, c'est assez simple : dans YaST, Pare-Feu, Services autorisés, ajouter SSH dans la zone externe. Et configurer votre interface réseau pour qu'elle soit dans la zone externe (ce qui est bien plus sûr, en passant... ;-) )

Une fois la chose faite, sshd et X11 démarrés sur le serveur, placez vous sur la machine cliente, ouvrez un terminal, et lancez la connection ssh :
ssh -X user@machine

Je pars du principe que user a les sur X11... Notez le "-X" dans la commande qui va permettre d'importer les variables relatives à l'environnement graphique.

Jusque là, ça va... Nous allons maintenant devoir autoriser les directives allant vers le serveur X à être prises en copte depuis notre machine. Supposons que notre machine s'appelle patate . À travers la connexion SSH, nous autorisons patate à lancer des commandes faisant intervenir X11 :
xhost +patate
Nous supposons ici que le serveur connaît le nom de notre machine. Si ce n'est pas le cas, utilisez une adresse IP, par exemple :
xhost +192.168.0.10
Ce n'est pas fini, cependant... les variables X11 actuelles sont relatives à la machine cliente... il va donc falloir changer un peu les choses  en corrigeant la variable DISPLAY :
export DISPLAY=:0.0
Et normalement, c'est bon... :-) pour tester, lancez xterm depuis la machine cliente :
xterm
Mieux, xdg -open marche tout à fait convenablement de cette façon :-)

Amusez vous !

du coup j'ai l'impression que X11UseLocalhost no est inutile et qu'il suffit tout simplement de faire ssh -X -C user@host logiciel_à_lancer_graphiquement ( le -C servant à la compression ).

Au besoin il faut peu être autoriser au paravant le serveur distant par xhost +le_serveur_en_question avec une connection ssh  ou directement sur la machine

Dernière modification par Peuks (Le 28/12/2010, à 01:01)

Hors ligne

#21 Le 28/12/2010, à 01:01

clement.analogue

Re : [Résolu] ssh : ouvrir des applications graphiques

C'est une solution plus compliquée et plus longue que tu proposes.
1/ Il faut connaître son ip et la renseigner à chaque fois dans xhost
2/ Il faut jouer sur la variable DISPLAY, ce qui est loin d'être évident pour avoir un peu essayer.
Ce n'est pas pratique et c'est la flemme lorsqu'on a une option qui permet de faire ça une bonne fois pour toute.

Donc entre changer une variable de yes à no ou faire ces étapes à chaque fois, c'est vite vu.


Site personnel
Association Ubuntu-Lyon : Organisation d'événements autour d'Ubuntu sur Lyon.
Venez discuter philosophie, exposez vos textes et réflexions, ...
Forum Analogue : Philosophie, sciences, art, actualité, etc.

Hors ligne

#22 Le 28/12/2010, à 01:37

Peuks

Re : [Résolu] ssh : ouvrir des applications graphiques

cette variable est l'équivalent de xhost +leserveur ?
Parce que par la suite c'est vrai j'ai trouvé plus simple.
ssh -X peuks@ip logiciel point barre . Après c'est vrai j'ai enrengistré xhost +eeebox . ( peu être plus sécurisé que l'autre méthode ? ) M'en fin tout marche en local ! J'essayerai à distance une autre fois .
Bonne nuit les gens  et merci pour ce topic , très instructive smile

ps: autre chose , pour éviter de changer la variable à chaque peu être qu'un petit xhost +* suffirait une bonne fois pour toute ? évitant ainsi la modification du fichier à chaque fois et au besoin un petit  -X suffirait !

Dernière modification par Peuks (Le 28/12/2010, à 01:40)

Hors ligne

#23 Le 28/12/2010, à 03:03

clement.analogue

Re : [Résolu] ssh : ouvrir des applications graphiques

Je ne suis pas très calé en réseau, mais je pense que la technique que tu donnes ne fonctionne pas en distant, c'est justement l'objet de l'option dont j'ai parlé (#5). Il est dit en gros que par défaut l'exportation d'affichage est restreinte en local (loop) et que c'est cette option qui permet de "lier" (bind) l'affichage aux clients distant (wild) Je te laisse lire le man page de l'option :

X11UseLocalhost
             Specifies whether sshd(8) should bind the X11 forwarding server
             to the loopback address or to the wildcard address.
  By default,
             sshd binds the forwarding server to the loopback address and sets
             the hostname part of the DISPLAY environment variable to
             ``localhost''.  This prevents remote hosts from connecting to the
             proxy display.  However, some older X11 clients may not function
             with this configuration.  X11UseLocalhost may be set to ``no'' to
             specify that the forwarding server should be bound to the
             wildcard address.  The argument must be ``yes'' or ``no''.  The
             default is ``yes''.

Dernière modification par clement.analogue (Le 28/12/2010, à 03:04)


Site personnel
Association Ubuntu-Lyon : Organisation d'événements autour d'Ubuntu sur Lyon.
Venez discuter philosophie, exposez vos textes et réflexions, ...
Forum Analogue : Philosophie, sciences, art, actualité, etc.

Hors ligne