OpenSSH : Export de fenêtre graphiques

From Deimos.fr / Bloc Notes Informatique
Jump to: navigation, search

1 Introduction

OpenSSH est capable d'exporter des fenêtre X depuis une autre machine (création d'un tunnel SSH). Par exemple, vous vous connectez à un serveur qui possède X et vous n'avez accès qu'en SSH à la machine distante.

Dans votre fichier de configuration SSH : /etc/ssh/sshd et mettez ceci à yes :

Configuration File /etc/sshd/sshd_config
X11Forwarding yes

2 Lancement de la session

Voici un exemple de session. Ici nous allons exporter VNC qui est lancé sur la machine en direct :

Command ssh
/usr/bin/ssh -gL5901:127.0.0.1:5901 -C deimos@deimos.fr

Ceci va donc exporter le port 5901 distant sur la machine locale 5901.

Si nous devons passer par une passerelle SSH d'abord :

Command ssh
/usr/bin/ssh machine_passerelle -L 5901:machin_sur_mon_réseau:5901

Il est également possible d'automatiser un tunnel ssh en ajoutant une ligne de ce style dans le fichier de configuration de ssh (~/.ssh/config):

Configuration File ~/.ssh/config
LocalForward <port local> <machine cible>:<port cible>

Voici un exemple :

Configuration File ~/.ssh/config
  Host deimos.fr
    User deimos                          // Pour Utiliser un nom d'utilisateur différent de celui d'ici
    LocalForward 993 localhost:993       // Pour avoir accès à mon propre serveur IMAPS
    LocalForward 119 news.free.fr:119    // Pour avoir accès au serveur de news de free

3 Connexion à la session distante

Lancez vncviewer et connectez vous sur "localhost:1". Vous aurez alors l'écran distant du serveur sous les yeux.

4 Conclusion

SSH est capable de forwarder toutes fenêtre et n'importe quel port. Pour des raisons de sécurité, il est préférable d'ouvrir le moins de port posible. Ouvrez donc juste SSH pour faire passer ce type de services

5 Ressources

Documentation on Best Practices on SSH
Principes et utilisation de SSH