Oui, entre autres. ssh -X, ça fait plusieurs choses en fait :
ça transfère le socket du serveur X du poste client SSH /tmp/.X11-unix/X$n, où $n est le numéro du $DISPLAY sur un socket créé pour l'occasion sur le poste serveur SSH sous le nom /tmp/.X11-unix/X$m, où $m est un numéro choisi pour ne pas créer de collision ;
ça exporte dans le shell distant la variable DISPLAY=:$m ;
ça exporte dans le shell distant le cookie d'identification X11, avec xauth (pas envie de détailler ça, vous pouvez regarder les pages de manuel et regarder ce que donne xauth list sur les deux postes).
Ainsi :
les logiciels clients X lancés dans le shell distant essaieront de causer avec le serveur X correspondant à ce DISPLAY=:$m, c'est à dire un serveur prétendument local au poste serveur SSH, accessible sur le socket Unix /tmp/.X11-unix/X$m ;
leurs requêtes à ce socket Unix sont transférés par SSH au socket Unix du serveur X du poste client SSH /tmp/.X11-unix/X$n ;
ces requêtes sont donc traitées par le serveur X du poste client SSH.
À noter que, si OpenSSH est capable de faire des transferts de ports TCP et UDP arbitraires, il est en revanche codé pour ne pouvoir transférer en matière de sockets Unix que ceux dont le chemin correspond à ceux utilisés dans le cadre du système X11.
[^] # Re: un troll de moins ?
Posté par 🚲 Tanguy Ortolo (site web personnel) . En réponse au journal wlfreerdp: un client Wayland pour FreeRDP. Évalué à 10.
Oui, entre autres.
ssh -X, ça fait plusieurs choses en fait :/tmp/.X11-unix/X$n, où$nest le numéro du$DISPLAYsur un socket créé pour l'occasion sur le poste serveur SSH sous le nom/tmp/.X11-unix/X$m, où$mest un numéro choisi pour ne pas créer de collision ;DISPLAY=:$m;xauth(pas envie de détailler ça, vous pouvez regarder les pages de manuel et regarder ce que donnexauth listsur les deux postes).Ainsi :
DISPLAY=:$m, c'est à dire un serveur prétendument local au poste serveur SSH, accessible sur le socket Unix/tmp/.X11-unix/X$m;/tmp/.X11-unix/X$n;À noter que, si OpenSSH est capable de faire des transferts de ports TCP et UDP arbitraires, il est en revanche codé pour ne pouvoir transférer en matière de sockets Unix que ceux dont le chemin correspond à ceux utilisés dans le cadre du système X11.