X11 forwarding en SSH via Putty

Utiliser des applications graphiques d'un serveur (Ubuntu/Debian/CentOS) sur un poste Windows via une connexion SSH.

Pré-requis coté server :

$ sudo apt-get install openssh-server
$ sudo apt-get install xvfb xdm xfonts-base
$ sudo apt-get install twm "xfonts-100dpi*" xterm

Activer X11Forwarding dans la configuration du serveur SSH distant:

# cat /etc/ssh/sshd_config | grep X11
X11Forwarding yes

Pré-requis coté client (Windows par exemple) :

Putty

Xming

Mise en oeuvre :

Ouvrir Xming

Ouvrir Putty

Saisir l'adresse IP du serveur

putty_1

Dans "Connexion" --> "SSH" --> "X11", cocher "Enable X11 forwarding"

Putty_2

Ciquer sur "OPEN"

Dans la console Putty, saisir "Login" et "Password"

Pour ouvrir une console par exemple saisir :

$ xterm &

La variable $DISPLAY permet de vérifier que le X11Forwarding est bien activé:

# echo $DISPLAY
localhost:10.0

La commande xauth list permet d'afficher le magic cookie indispensable au X11Forwarding :

# xauth list
monServeur/unix:10  MIT-MAGIC-COOKIE-1  17e3926a07573d0c51be57158896cf4c

Conserver le X11Forwarding et le magic cookie après avoir changé d'utilisateur:

Dans le cas où vous auriez besoin de lancer une application avec un utilisateur différent de celui utilisé pour la connexion SSH, il faut obligatoirement transmettre au nouvel utilisateur le magic cookie.

Utiliser la commande précédente pour afficher le magic cookie (xauth list):

Changer d'utilisateur et ajouter le magic cookie à l'aide de la commande xauth add et en paramètre, le résultat de la commande xauth list:

# su - user1

$ xauth add monServeur/unix:10  MIT-MAGIC-COOKIE-1  17e3926a07573d0c51be57158896cf4c