Pour accéder aux applications client X telles que system-config-date, xclock, vncviewer, nous devons exporter les paramètres DISPLAY d'un hôte distant vers le serveur local. Cela se fait généralement en utilisant les commandes ci-dessous.
# ssh root@remotehost remotehost# export DISPLAY=x.x.x.x:y.y
Où x.x.x.x:y.y - correspond aux paramètres d'affichage du système à partir duquel vous vous êtes connecté à l'hôte distant.
Vous pouvez également utiliser l'option -X avec ssh pour exporter directement l'AFFICHAGE sur l'hôte distant.
# ssh -X root@remotehost
Mais maintenant, si vous essayez de passer à un autre utilisateur sur le système distant et d'exporter à nouveau l'affichage, vous obtiendrez une erreur - "Erreur :Impossible d'ouvrir l'affichage :".
# ssh -X root@remotehost # su - [username] # export DISPLAY=x.x.x.x:y.y # xclock Error: Can't open display: x.x.x.x:y.y
Transfert X11 pour les utilisateurs sudo
Il ne suffit pas de régler DISPLAY. L'authentification X est basée sur les cookies, il est donc nécessaire de définir le cookie utilisé par l'utilisateur qui a initié la connexion. La procédure suivante permet à un utilisateur sudo d'utiliser le tunnel X11 basé sur ssh :
1. Connectez l'hôte distant à l'aide de l'option -X avec ssh.
# ssh -X root@remote-host
2. Répertoriez maintenant le jeu de cookies pour l'utilisateur actuel.
# xauth list $DISPLAY node01.thegeekdiary.com/unix:10 MIT-MAGIC-COOKIE-1 dacbc5765ec54a1d7115a172147866aa # echo $DSIPLAY localhost:10.0
3. Passez à un autre compte d'utilisateur à l'aide de sudo. Ajoutez le cookie de la sortie de commande ci-dessus à l'utilisateur sudo.
# sudo su - [user] # xauth add node01.thegeekdiary.com/unix:10 MIT-MAGIC-COOKIE-1 dacbc5765ec54a1d7115a172147866aa
4. Exportez à nouveau l'affichage de l'étape 2 pour l'utilisateur sudo. Essayez la commande xclock pour vérifier si les applications client x fonctionnent comme prévu.
# export DISPLAY=localhost:10.0 # xclock