Aller au contenu principal
~/GiwiSoft
6rypdx6rypdx6ryp

Export display avec rebond

Giwi 2 min de lecture Linux

Voici la problématique : faire un export display depuis mon PC vers une autre machine en passant par une machine intermédiaire :

[root@A]# ssh -R 6000:localhost:6000 -A -X root@B
[root@B]# ssh -R 6000:localhost:6000 -A -X root@C
[root@C]# xterm

La méthode moderne avec ProxyJump (-J)

Depuis OpenSSH 7.3 (2016), une option bien plus simple existe : le flag -J permet de traverser un hôte intermédiaire en une seule commande :

$ ssh -J user@B user@C -X

Plus besoin de rebondir manuellement, SSH fait le tunnel tout seul.

Configuration dans ~/.ssh/config pour les rebonds réguliers

Si vous passez souvent par le même hôte de rebond, déclarez-le dans votre ~/.ssh/config :

Host C
HostName machine-c.example.com
User root
ForwardX11 yes
ForwardAgent yes
ProxyJump user@B

Host B
HostName machine-b.example.com
User root
ForwardX11 yes
ForwardAgent yes

Ensuite, un simple ssh C -X depuis votre machine A suffit.

Alternative : ProxyCommand pour les vieilles versions SSH

Si vos serveurs n’ont pas OpenSSH ≥ 7.3, utilisez ProxyCommand :

$ ssh -o ProxyCommand="ssh -W %h:%p user@B" user@C -X

Ou dans le ~/.ssh/config :

Host C
HostName machine-c.example.com
User root
ProxyCommand ssh user@B -W %h:%p

Améliorer les performances avec Mosh

Pour les connexions à latence élevée ou instables, remplacez le dernier saut par Mosh (qui supporte la reconnexion et ne bloque pas sur le scrolling) :

$ ssh -J user@B user@C
$ mosh --ssh="ssh -J user@B" user@C

Mosh est particulièrement utile quand le X11 forwarding rame sur une liaison mobile ou WiFi dégradé.