X11 Forwarding en SSH via Putty
Cet article a été publié il y a 1 an 6 mois 20 jours, il est donc possible qu’il ne soit plus à jour. Les informations proposées sont donc peut-être expirées.La ou je travaille actuellement, le proxy et le firewall bloque quasiment tout. Impossible d’aller sur certains de mes sites favoris, et surtout impossible d’accèder à ma machine Linux via VNC (en même temps heureusement, car VNC n’utilise pas de cryptage, donc tout passe en clair sur le réseau).
Dans un premier temps, je veux juste pouvoir utiliser de manière basique mon PC à distance. C’est à dire, copier des fichiers du travail sur mon ordi à la maison (pour ca j’utilise pscp par l’éditeur de Putty : utilisation ici), afficher mes applis Linux sur mon PC du travail (ex: Firefox, pour pouvoir aller sur les sites bloqués par le proxy), Banshee pour écouter la musique de chez moi sur mon poste client…
Dans un premier temps, il me faut configurer mon serveur SSH à la maison pour qu’il permette le « X11 forwarding ».
Je vous conseille dans un premier temps pour ceux qui ne connaissent pas trop le
SSH coté client/serveur/protocole de lire cet article.
Configuration du serveur :
Editer le fichier /etc/ssh/sshd_config en root :
$ sudo nano /etc/ssh/sshd_config
Et mettez la valeur YES pour X11Forwarding
X11Forwarding yes
Puis redémarrez le serveur SSH
$ sudo /etc/init.d/ssh restart
Voila, votre serveur SSH peut maintenant faire de l’export display.
Coté client Windows, il vous faut dans un premier temps télécharger PUTTY, puis télécharger Xming ( téléchargement direct ici). Installer ensuite Xming avec les options par défaut. Et normalement vous aurez une icone dans le systray qui va apparaitre.
Une fois Xming lancé, lancez Putty activant l’option Enable X11 forwarding comme le screenshot ci-dessous.
Puis ensuite lancez votre connexion SSH avec le serveur.
Vous pouvez donc lancer votre n’importe quelle interface. Par contre, attention, c’est quand même lourd.
Donc si vous voulez lancer Firefox de votre serveur et que l’interface graphique s’affiche sur votre poste client (et ainsi outre passer les restrictions du proxy) :
et ainsi l’interface Firefox se lance sur votre client, mais coté serveur … oui, si vous venez de windows ça fait bizarre d’entendre cela, mais c’est tout à fait normal dans le monde linux/unix. Cette méthode est aussi très employé en entreprise avec les serveurs Unix/Linux.
Sur un client Linux
Rien de plus simple ! Pour se connecter en ssh en activant le X11 forwarding:
ssh -X user@ADRESSE_IP
et vous pouvez lancer vos applications graphiques de votre serveur !
Petite astuce, il est aussi possible de lancer Banshee, Amarok ou n’importe quel logiciel pour écouter de la musique et ainsi vous écouterez la musique de chez vous … mais au travail.
| Imprimer l'article | Cette entrée a été posté par SckyzO le 13 février 2009 à 12 h 00 min, et placée dans Logiciel Libre, Planet-Libre. Vous pouvez suivre les réponses à cette entrée via RSS 2.0. Vous pouvez laisser une réponse, ou bien un trackback depuis votre site. |







about 1 year ago
Whoo !
Je ne savais pas que Putty permettait de faire ça ! Il est fort, ce Putty… et merci pour l’astuce, donc !
Perso, je me contente d’utiliser ssh sans surcouche graphique. Avec les bons softs (en mode texte, donc
), je fais ce que je veux sur mon serveur depuis Putty.
about 1 year ago
Oui il est très fort

Pour ce qui est de l’administration de serveur en Command Line Interface, moi aussi je préfère, mais là ou je suis, le proxy bloquant l’accès a des sites tel que facebook, twitter, beaucoup de blogs sur la toile, de sites et de forum … Franchement, l’export display me permet de ne pas péter un cable et de ne pas voir que la ou je suis c’est pire que la prison
Et puis ca me permet aussi d’écouter ma musique tranquillement
about 1 year ago
Salut,
, faire passer du X, c’est un peu encombrant non ?
Euuuuh, si le but est de pouvoir surfer peinard depuis une boite pleine de restrictions à la con (mais nécessaires
Alors qu’un ssh -L 1234:127.0.0.1:3128 toto@srv_relai permettra de relayer un faux proxy localhost:1234 (l’entrée du tunnel) vers un squid à vous sur srv_relai, port 3128
sous putty, c’est pareil
Et pour un proxy socks, vous mettez -D 1080 ou un proxy type « dynamic » dans putty
Bref, c’est expliqué là : http://michauko.org/docs/ssh_au_boulot/ une bien vieille doc que j’ai écrite et que je devrais coller adns mon blog dans un format un peu plus lisible
Enfin, si votre société bloque le port 22 (ce qui semble raisonnable sauf dans une grosse boite de geeks), vous faites écouter votre ssh sur le port 443 par exemple
Enfin-enfin, s’il faut, vous faites du stunnel, vous soudoyez l’admin réseau, que sais-je
VNC ne crypte rien, oui, mais VNC tunnelé en SSH, si. Encore une alternative pour avoir le bureau complet (mais encore plus bourrin que l’export X)
A+
about 1 year ago
Très intéressant, je pensais que c’était plus compliqué à mettre en œuvre.
Question : j’ai une machine distante démarrée en mode texte (pas d’interface graphique de lancée), le X11 Forwarding fonctionnera quand même ? Je pense au cas des serveurs dédiés pour lesquels des fois, avoir une interface ça peut être pratique.
about 1 year ago
FreeNX (serveur) + NoMachine (client) fait la même chose, mais en compressant les données échangées (les données avec le X Forwarding ne sont pas compressés, et l’affichage côté client peut être assez lent)
about 1 year ago
Salut Sckyzo,
merci pour l’astuce. J’utilisais déjà VNC, mais comme cela «piquait» la souris des mains de mon père, c’est pas terrible.
Cette solution est très très avantageuse !!
Merci
about 1 year ago
Salut Skyz0
Merci pour tes textes très intéressants.
Dis moi je sèche comment fais tu pour rediriger le son de ton serveur vers ton client au bureau?
Quand je lance amarok
# ssh user@adresseIP -X amarok
L’interface graphique d’amarok se lance sur mon client mais la musique sort sur mon serveur.
Ai je loupé une évidence? Merci de me renseigner.
@tight
Pour info tu peux aussi compresser tes données avec ssh il te suffit de passer l’option -C.
# ssh user@adresseIP -XC application
mais cela reste tout de même lent
about 1 year ago
Le plus drôle dans cette histoire, c’est une boite qui bloque des sites et qui laisse passer le ssh vers l’exterieur.
Même si ssh est relativement sécurisé, cela veux dire qu final que l’intranet de ta boite est connecté à internet sans aucun contrôle sur les flux et aucune assurance concernant la sécurité des sites distant.
En clair, si ta machine chez toi se fait hacké, les pirates peuvent rentrer sur ton reseau d’entreprise.
Si tu savais les règles drastiques qu’il faut mettre en place pour avoir une ssh Gateway qui soit trusted…
Docn , c’est bien, c’est pratique, mais pas top au niveau de la sécu.
about 1 year ago
Merci pour ce tuto … Je connaissais la méthode mais en fait, je remercie surtout Michauko pour son commentaire qui m’a ouvert la voie ! J’ai adapté la méthode pour la faire fonctionner sur un Mac derrière une neufbox (en mappant le 443 vers le 22 du mac) et ça fonctionne parfaitement ! Je peux enfin nvaiguer partout depuis mon lieu de travail sans les restrictions mise en place par notre DSI !
about 1 year ago
@michauko:
Oooooh !! Je connaissais pas tout ça, je m’en vais tester tout cela
@Oncle Sam:
Le X11 forwarding peut fonctionner oui. Pour cela il te faut installer xvfb (X Virtual Frame Buffer)!! Un serveur X “virtuel”.
Puis éditer / etc/X11/xdm/Xservers. Remplacer la ligne Remplacer la ligne
par
Et redémarer le deamon
Suivre ma procédure avec putty, X11 et Xming, puis lancer la session ssh avec Putty.
Essayer de taper
Et normalement ça devrait fonctionner
(source : http://www.frans-web.com/index.php/2007/04/04/16-x11-forwarding-en-ssh-via-putty)
@dquarter:
Normalement cela devrais fonctionner.
As tu un message d’erreur ?
@Laurent:
Non, ce n’est pas si bête que cela. La boite ou je suis (et ou jsui admin aussi) laisse passer le SSH car il y a beaucoup de Geek. Ensuite, il permet aussi de se connecter de chez soi a certaines machines en cas de pb le week (pour les permanences). Certes niveau sécurité, il y a mieux, mais utilisant le principe du certificat clé publique/clé privée … Bah ça laisse tout de même de la marge sur le piratage. (PS : chez moi aussi je suis avec une clé publique/clé privée)
@Wolfen13fr:
Bon, alors je vais mettre en place cette méthode. Peut être que je le reprendrais en article si michauko m’autorise a publier qqch avec son astuce (ou s’il le fait avant, je mettrai un lien)
Merci à tous (à la fin je crois que l’on saura tous comment outre passer les restrictions en vigueur dans nos entreprises …
about 1 year ago
Je n’ai rien contre le ssh bien au contraire, je dis juste que dans un environnement pro, ce n’est pas une sécurité suffisante. Cela permet une encryption du traffic, mais après cela ne passe pas lorsque l’on fait un audit sécu digne de ce nom.
Pour ce qui est des geeks, je ne vois pas en quoi le fait de laisser passer le ssh apporte quoi que ce soit, à part donner une certaine satisfaction personnelle « regarde je me connecte chez moi là et je te montre le dernier proto que je réalise en sous marin…3. Pour les astreinte le WE, un bon serveur de VPN openVPN par exemple) me semble un peu plus à même de faire ce travail.
Tes accès ssh, ils sont dans une jail ?
En tout cas c’est ce que j’ai pu apprendre dans ma boite après avoir tenté de negocié avec le Mr sécurité un accès ssh vers une infrastructure connectée à Internet (protégé selon de stricts critères pourtant).
Bien sûr, je parle ici d’une très grande structure avec de gros moyens, mais il me semble que pour participer à la sécurisation d’internet, il faudrait que ces règles soient le plus appliquées possible, et ce même dans les plus petites structures. Il me semble qu’un « geek » digne de ce nom devrait accepter plus facilement les règles drastiques de sécurité que le quidam de base car au moins il est à même de comprendre pourquoi il y a ces règles.
Laurent
about 1 year ago
@Laurent:
Pour certains serveurs nous avons effectivement utilisé chroot pour limiter les commandes des utilisateurs. Ensuite, si il y à tout de même pas mal de sécurité ici. Ensuite, pour ce qui est de l’ouverture du ssh, je vais te dire, j’ai été le premier étonné que cela passe ……
Il n’existe pas encore d’accès VPN ici. Peut être un jour appliqueront-il la politique.
C’est clair, tu as raison, niveau sécurité c’est pas vraiment le mieux. Ils se cachent surtout derrières certaines apparences de sécurité pour se croire en sécurité …
Ou alors le port 22 est utilisé pour autre chose que je ne sais pas :-/
Tu as l’air bien calé en sécu dis moi
about 1 year ago
@cougar :
VNC pique la souris lorsqu’on parle de PC distant windows… en linux, VNC ouvre un 2è serveur X (sauf si on veut vraiment prendre la main sur « l’écran principal »)
@dquarter :
le son ? aucune chance avec tout ça. C’est du déport d’affichage, tunneling de ports TCP. Rien pour rediriger un device audio (et bonne chance côté performances…)
@Laurent :
c’est très vrai dans le cas de déport « à l’envers » : -R au lieu de -L : tu peux externaliser un intranet ou n’importe quel système interne ; et ça peut vraiment être dangereux…
Il faut bloquer SSH en sortie, c’est clair. Ne l’ouvrir que lorsqu’il y a besoin et c’est rare (besoin d’admin entre site) et ça devrait limiter entre 2 IP.
Mais même si tu bloques, pour bloquer un SSH dérouté sur du port 443 (pour peu que https soit toléré, ce qui est plus que probable), il faut analyser le contenu des trames (par exemple voir la réponse contenant « OpenSSH » sur du 443 et dire « ça craint »). Très couteux. Jeu de chat et souris de tte manière… Enfin, préférer un VPN coûte que coûte n’est pas utile. Ce sont les mêmes procédés de cryptage, ça ne change rien. S’il s’agit d’admin ligne de commande, SSH suffit. S’il faut aller sur des intranets etc, moui, vpn facilitera, c’est tout. C’est plus accessible.
Sur une 20 aine de boite lorsque j’étais presta + un grand groupe et maintenant une PME, pas une n’a su bloquer le tunneling. Enfin si, une, elle utilisait un proxy créé par MS il y a super longtemps et le dialogue était buggé => ça plantait…
@sckyzo :
pour l’instant, je n’ai pas eu le temps de refaire mon vieil article en pur html-qui-craint ; je vais y penser… sinon vas-y, envoi un vague crédit vesr mon blog ou ladite doc. Ce qu’il faudrait, c’est étoffer la partie tunneling UDP. Mais à part un VPN, je vois pas trop ; sans parler de hamachi et ce genre de trucs
about 1 year ago
@SckyzO
Je suis pas plus calé que ça, juste un peu endoctriné par certains architectes et autres officiers de sécurité. Mais comme ils ont eu la gentillesse d’expliquer, j’ai à peu près compris et du coup je m’en souviens. Et puis j’aime bien le sujet aussi.
@michauko
Soit on a un proxy buggé, soit ils sont très forts alors.
about 1 year ago
Hop, je suis en train de « porter » l’article sur mon blog. RDV sur planet-libre
about 1 year ago
hop, c’est fait
about 1 year ago
Sympa. c’est un sujet que je connais bien depuis très longtemps dans ma boite qui filtre tout et n’importe quoi. Par contre je n’avais jamais utilisé cette méthode de X forwarding. A mon avis niveau performance c’est pas terrible non ? surtout si on a une bande passante limitée comme c’est souvent le cas en entreprise…
J’utilise depuis 5 ans le dynamic port forwarding et proxy socks comme le décrit michauko plus haut. Pour ceux qui aiment la ligne de commande, j’ai fait un sujet sur mon blog il y a pas longtemps sur sur la commande apt par proxy socks avec tsocks qui s’adapte à n’importe quelle application (même graphique) sous linux :
http://feilongwork.free.fr/index.php/2008/12/31/apt-ou-autre-par-proxy-socks-5
Pour windows, il y a certaine application qui ne gère pas la paramétrage d’un proxy socks. Pour se faire, l’equivalent de tsocks sous windows est Freecap qui est lui en mode graphique (pour vous donner une idée cela fonctionne avec outlook) :
http://www.freecap.ru/eng/?p=whatis
Pour ceux qui avec toutes les informations de michauko n’arrivent toujours pas à passer, il faut voir du coté de httptunnel et encapsuler une connexion ssh qui elle même ouvrira un nouveau tunnel… c’est très lourd mais ça marche toujours…
Et la documentation de ubuntu-fr.org n’est pas toujours faite pour les débutants :
http://doc.ubuntu-fr.org/httptunnel
about 1 year ago
Bon je vois que le sujet a bien fonctionné, en tout cas merci pour les astuces.
Je pense que je referai un résumé de tout ça. En tout cas oui feilong … le X11 forwarding c’est bien lourd :S
about 1 year ago
Je ne connaissais pas non plus, mais sa marchera pas pour moi, sous cygwin pense pas que je puisse installer firefox lol
mais l’autre technique des foward port normal , ba moi j’ai un hic
Sous windows 2008 serveur 64bits, il tourne pas le sshd:(
j’ai réussi a le lancer que sous cywgin, donc si quelqu’un serait m’aider
about 1 month ago
Super solution ! Et ça amarché d premier coup ! Après avoit passé des jours à esayer de mettre en place cygwn, cette solution est tout simplement … GENIALE !
about 1 month ago
De rien, j’ai fait ça pour justement passer le proxy de ma boite.
En lisant les commentaires de cet article, tu devrais voir d’autres astuces intéressantes