[SSH]Obtenir interface Graphique

Sphost -  
 papix -
Bonjour à tous,

Voilà, je suis sur une machine cliente de type Red Hat et g un serveur distant lui aussi de type red hat, afin d'éviter d'avoir à faire des aller et retour sans cesse entre le bureau ou se trouve le poste client et la salle de serveur, je souhaite pouvoir accéder à mon serveur à distance.
J'ai donc choisi d'utiliser SSH. Cela fonctionnemement parfaitement, mais maintenante je souhaiterais pouvoir obtenir l'interface graphique de mon serveur sur ma machine cliente (un peu comme le fait un VNC)
Je sais que l'on peut lancer des application graphique à distance en utilisant l'option -X de SSH mais je ne trouve pas le moyen d'obtenir directement la visualisation de mon Bureau serveur.

Merci de votre aide.
A voir également:

9 réponses

jipicy Messages postés 40842 Date d'inscription   Statut Modérateur Dernière intervention   4 896
 
Et ça aussi : http://docs.mandragor.org/files/Operating_systems/Linux/Formation_Debian_Gnu_Linux_fr/export-display.html
C'est peut être la solution à tes soucis ;-))
Le serveur graphique possède une fonction d'export display, mais qui n'est pas cryptée comme avec SSH. Il faut d'abord autoriser les connexions en provenance du serveur X, puis demander au serveur X distant de renvoyer le display vers le serveur X de la machine cliente :

% xhost + serveur.exemple.org

% ssh login@serveur.exemple.org

% export DISPLAY=client.exemple.org:0.0
Note: Pour que cela marche, il faut que le serveur X de la machine cliente ne soit pas lançé avec l'option -nolisten tcp, ce qui est le cas par défaut !

Si vous utilisez la commande startx, enlevez cette option du fichier /etc/X11/xinit/xserverrc :
5
Xenor Messages postés 3312 Date d'inscription   Statut Contributeur Dernière intervention   51
 
Salut,
Faire ssh -C -X utilisateur@machine, et réessayer.
Si ça ne marche pas non plus, essayer de modifier la variable DISPLAY à la main. Une fois connecté en ssh, faire "export DISPLAY="machine:0" (machine est le nom/l'IP de la machine client). Deux autres choses sont alors à faire : le serveur X distant (sur la machine client donc) doit accepter les connections tcp, pour cela il faut desactiver le "nolisten tcp" qu'il y a par défaut dans les configuration de gdm par exemple. Et également accepter la machine serveur, pour cela faire un "xhost + machine" (machine est cette fois la machine serveur) dans un terminal sous X sur le poste client.
Voilà voilà ça fait bcp de choses mais une fois qu'on connait c'est facile...
1
Sphost
 
Salut Xenor,
Je viens d'essayer et g la même erreur ... à part que g client 5 au lieu de client 4 (mais bon je pense pas que ça a grande importance)

Bref toujours coincé ... merci de ton aide, si tu as une autre idée tiens moi au courant, je continu de chercher de mon côté.
0
Xenor Messages postés 3312 Date d'inscription   Statut Contributeur Dernière intervention   51
 
le X11 forwarding, c'est un truc que je fais toujours, partout et dans tous les sens. Donc si ça marche pas c'est que tu as dû oublier quelque chose. Si tu peux me décrire précisément les étapes que tu suis, et les messages d'erreur que tu reçois, je pourrais peut être t'aider...
0
Sphost > Xenor Messages postés 3312 Date d'inscription   Statut Contributeur Dernière intervention  
 
salut,
G suivi à la lettre ce que vous m'avait dit :

X11Forwarding yes
X11DisplayOffset 10
dans sshd_config du serveur

Host *
ForwardAgent? yes
ForwardX11? yes
dans ssh_config du client

xhost +IP_du_client
sur le serveur

ensuite sur le client:
ssh -C -X IP_du_serveur
(je me log en root)
export DISPLAY="IP_du_client:0"
startx -- :1

et là j'obtiens tjs la même erreur que dans le message <6> ...
0
Xenor Messages postés 3312 Date d'inscription   Statut Contributeur Dernière intervention   51 > Xenor Messages postés 3312 Date d'inscription   Statut Contributeur Dernière intervention  
 
Bien !
....sauf.... que le "xhost + IP_client" sur le serveur, non, c'est l'inverse, il faut autoriser le serveur X de ton client à afficher des trucs qui viennent du serveur.
Sous X, sur ton client, ouvre un terminal, fais "xhost + Ip_serveur" dedans, puis ton "ssh -C -X ip_serveur".
Peux tu commencer par un simple "xterm" (pour le startx on verra plus tard) et voir si il s'affiche ou pas ?
0
Sphost > Xenor Messages postés 3312 Date d'inscription   Statut Contributeur Dernière intervention  
 
Salut,
Le xterm s'affiche bien, g tenté un emacs, idem ça passe.
Mais le startx -- :1 pas moyen que ça passe.
Par contre, le fait que l'interface graphique sur le serveur soit lancé serait-il une cause du non fonctionnement du startx à distance?

Sphost
0
jipicy Messages postés 40842 Date d'inscription   Statut Modérateur Dernière intervention   4 896
 
Salut,

Tiens jette un oeil là : http://www.pingouin-land.com/howto/Remote-X-Apps.html
;-))
0
Sphost
 
slt,
Je viens de lire la doc, mais elle ne traite pas réellement des connections X via SSH mais surtout via telnet et autre.
En fait il faudrait juste que je sache comment faire pour lancer l'équivalent d'un startx de mon serveur depuis mon client avec d'avoir l'interface de mon serveur sur mon client

Merci de ton aide.
0
jipicy Messages postés 40842 Date d'inscription   Statut Modérateur Dernière intervention   4 896
 
Je cite :
6.3 Ssh

Les enregistrements d'autorisation sont transmis sur le réseau sans codage. Si vous vous souciez de ce que l'on puisse espionner vos connexions, utilisez ssh, le shell sécurisé. Il effectuera des transmissions X sécurisées au moyen de connexions chiffrées.

Pour activer la transmission X par ssh, utilisez l'option de la ligne de commande -X ou écrivez ce qui suit dans votre fichier local de configuration de ssh :

Host remote.host.name
ForwardX11 yes


Le serveur ssh (sshd) du côté distant positionnera automatiquement la variable DISPLAY sur l'extrémité du tunnel X transmis. Le tunnel distant récupère son propre cookie ; le serveur ssh distant le génère pour vous et le place dans ~/.Xauthority là-bas. Ainsi, l'autorisation X avec ssh est complètement automatique.

;-))
0
Sphost
 
:-D
Oui tkt ça je l'ai bien lu mais le prob et le suivant : en lançant ça j'obtiens :
Fatal server error:
Server is already active for display 0

Donc voilà tout le problème :-p

@tte
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
jipicy Messages postés 40842 Date d'inscription   Statut Modérateur Dernière intervention   4 896
 
Extrait du man de ssh :
The DISPLAY value set by ssh will point to the server machine, but with a
display number greater than zero. This is normal, and happens because
ssh creates a ``proxy'' X server on the server machine for forwarding the
connections over the encrypted channel.

Donc une fois loggué, un petit :
startx -- :1
;-))
0
Jules
 
Bonjour

Vous pourriez utiliser vnc et ssh ?

http://dominique.guebey.club.fr/tekno/securite/sshvnc.htm

Si vous essayez, fites savoir si ça marche!

Jules
0
jipicy Messages postés 40842 Date d'inscription   Statut Modérateur Dernière intervention   4 896
 
Re-

Tiens je viens de redécouvrir cette explication sur la doc d'Alexis de Lattre :
http://people.via.ecp.fr/~alexis/formation-linux/export-display.html
0
papix
 
Vous pouvez aussi utiliser "Nomachine" très puissant !! Il utilise même ssh pour ses transfères pour plus de sécurité !!
0
Sphost
 
Je viens d'essayer, la commande se lance bien mais plante quasiment au démarrage :

(WW) ATI(0): Failed to set up write-combining range (0xfd000000,0x800000)
(WW) ATI(0): Failed to set up write-combining range (0xfd000000,0x800000)
SESSION_MANAGER=local/GTS-TEC-01:/tmp/.ICE-unix/18634
AUDIT: Thu Apr 7 12:23:02 2005: 18630 X: client 4 rejected from local host

NB : cela n'a peut-être pas d'importance mais mes deux postes n'ont pas la même configuration matérielle.

Merci encore de ton aide.
-1