Xwindow est conçu pour fonctionner en réseau, il est ainsi possible de lancer une application sur une machine et de déporter l’affichage sur une autre.
Le moyen sécurisé d’autoriser des connexions à un serveur X (avec des machines sur un LAN sécurisé) est d’utiliser la commande xauth
, elle garanti l’authentification entre deux machine via un secret partagé : le MAGIC-COOKIE
, qui est une chaîne de 128 bits (la communication reste cependant en clair et le MAGIC-COOKIE
peut être récupéré).
Commande xauth
La commande xauth
permet de gérer les MAGIC-COOKIES
et sont placés dans un fichier $HOME/.Xauthority
.
xauth [ -f authfile ] [ -vqibn ] [ command arg ... ] |
Lister les MAGIC-COOKIE
contenu dans $HOME/.Xauthority
:
$ xauth list |
Signification du résultat :
- dpyname : l’hostname
- protocole :
MIT-MAGIC-COOKIE-1
- valeur du
MAGIC-COOKIE
Pour avoir des infos supplémentaires :
$ xauth info |
Problèmes
Erreurs rencontrées
Si vous rencontrez une erreur similaire :
Last login: Wed Mar 29 13:39:47 2023 from 10.132.0.27 |
Ou
X11 connection rejected because of wrong authentication. |
Manuel SSH
Extrait du manuel 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.
ssh will also automatically set up Xauthority data on the server machine.
For this purpose, it will generate a random authorization cookie, store it in Xauthority on the server, and verify that any forwarded connections carry this cookie and replace it by the real cookie when the connection is opened. The real authentication cookie is never sent to the server machine (and no cookies are sent in the plain).
Résolution : reconfiguration des MAGIC-COOKIE
Il faut dans un 1er temps vérifier la valeur de la variable $DISPLAY
:
$ echo $DISPLAY |
Il faut donc ajouter la ligne correspondant au display 11 :
$ xauth add myserver-abc-0123.my.domain.org:11 MIT-MAGIC-COOKIE-1 def0123456789abcdef0123456789abc |
Securiser les connexions
Sur le client, dans ssh_config
:
ForwardX11 yes |
Sur le serveur, dans sshd_config
:
X11Forwarding yes |
Paquets nécessaires
Paquets :
$ yum install xorg-x11-xauth xorg-x11-fonts-* xorg-x11-utils -y |
Documentation
https://www.x.org/archive/X11R6.7.0/doc/xauth.1.html
http://okki666.free.fr/docmaster/articles/linux121.htm
https://unix.stackexchange.com/questions/139038/x11-connection-established-but-magic-cookie-value-different