2 votes

ssh avec x11 forwarding : ne fonctionne pas depuis le réseau extérieur

J'ai un ordinateur portable et un serveur. Sur le même réseau local, je peux accéder au serveur par ssh avec une redirection X11 :

ssh -Y -C username@internal.ip

Lorsque j'exécute quelque chose qui ouvre une fenêtre x11, les choses fonctionnent. Par exemple, xterm et chromium-browser.

Sur mon routeur, le port 22 est redirigé vers mon serveur. Ainsi, lorsque je suis à l'extérieur de mon réseau, je peux me connecter à mon serveur via le port 22.

ssh username@external.ip

Le problème, c'est quand je veux que X11 fasse des avances. Lorsque j'ajoute les drapeaux "-Y -C", je peux toujours me connecter. Cependant, Windows n'est pas transféré et je reçois des erreurs telles que celles-ci : - (chromium-browser:21079) : Gtk-WARNING ** : cannot open display : - xterm Erreur Xt : Impossible d'ouvrir l'affichage : xterm : DISPLAY n'est pas défini

Je jure que ça marchait avant, mais pour une raison quelconque, ça ne marche plus maintenant. Le seul changement auquel je peux penser récemment est la mise à jour du logiciel sur le serveur (de 10.04 à 10.04 avec les mises à jour). De même, sur mon ordinateur portable, j'ai récemment mis à jour vers ubuntu 11.04.

Je pense qu'il s'agit d'un problème récent, car je l'aurais détecté bien avant. De plus, je ne me souviens pas que cette erreur se soit produite auparavant lorsque j'ai ouvert x11 Windows. Je pense que cela a à voir avec mon ordinateur portable, car lorsque j'essaie des choses similaires sur d'autres serveurs (réseau extérieur, à l'école), x11 Windows ne s'ouvre pas non plus (et ils l'ont fait auparavant).

J'ai fait des recherches sur Internet mais je n'ai rien trouvé de pertinent. La redirection X11 doit être activée car elle fonctionne en interne. En externe, ce n'est pas le cas. Veuillez me faire part de vos suggestions de débogage ou de correction.

1voto

James Mertz Points 390

Vous n'avez pas spécifié le drapeau réel pour activer la redirection X11, qui est -X . ( -Y ne fait que le faire passer en mode "confiance").

Je pense que la redirection X11 est activée dans le fichier ~/.ssh/config o /etc/ssh/ssh_config dans quelques machines, ce qui explique pourquoi il a fonctionné à partir de là sans -X spécifié.

1voto

user65130 Points 163

@grawity (désolé, trop long pour les commentaires)

$ ssh -X -v -v -v usename@external.ip
OpenSSH_5.8p1 Debian-1ubuntu3, OpenSSL 0.9.8o 01 Jun 2010
debug1: Reading configuration data /home/username/.ssh/config
debug1: Applying options for *
debug1: Reading configuration data /etc/ssh/ssh_config
debug1: Applying options for *
debug1: auto-mux: Trying existing master
debug2: fd 3 setting O_NONBLOCK
debug2: mux_client_hello_exchange: master version 4
debug3: mux_client_request_forwards: requesting forwardings: 0 local, 0 remote
debug3: mux_client_request_session: entering
debug3: mux_client_request_alive: entering
debug3: mux_client_request_alive: done pid = 2616
debug3: mux_client_request_session: session request sent
debug1: mux_client_request_session: master session id: 3
$ xterm
xterm Xt error: Can't open display: 
xterm:  DISPLAY is not set

$ exit
logout
debug1: mux_client_request_session: master session id: 3
debug3: mux_client_read_packet: read header failed: Broken pipe
debug2: Received exit status from master 1
Shared connection to external.ip closed.

JE VIENS DE RÉALISER QUELQUE CHOSE. J'utilise SSHFS avec certains de ces serveurs que j'essaie (montage de certains répertoires). J'ai également ce qui suit dans ~/.ssh/config :

Host *
ControlMaster auto
ControlPath ~/.ssh/master-%r@%h:%p

pour garder une seule session en vie (et continuer à l'utiliser). Peut-être que la redirection X11 n'est pas configurée dans ma session initiale depuis SSHFS.

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X