Configurez le dernier serveur SSH comme hôte et placez le serveur intermédiaire dans ProxyJump :

Host proxy-exit
    HostName exit.example
    User operator
    ProxyJump [email protected]
    DynamicForward 127.0.0.1:1080

Avec des comptes autorisés sur ces hôtes, lancez ssh -N proxy-exit. Configurez l'application locale pour utiliser SOCKS à l'adresse 127.0.0.1:1080. L'écouteur se trouve sur le client ; la connexion SSH atteint exit.example via jump.example.

Les connexions demandées aux sites s'ouvrent du côté distant de la dernière session SSH—exit.example. Le saut achemine le transport SSH vers cet hôte et ne devient pas la sortie SOCKS simplement parce qu'il était la première machine accessible.

La destination voit l'adresse choisie par le routage de l'hôte de sortie et par un éventuel NAT. Elle n'a pas besoin de correspondre à l'adresse de connexion du nom d'hôte. Les deux serveurs ont besoin des droits de transfert requis par leurs rôles, et les vérifications de clé d'hôte s'appliquent toujours aux points de terminaison SSH prévus.

Cette configuration crée le service SOCKS via le transfert dynamique SSH. Si la passerelle exécute déjà un écouteur SOCKS indépendant, l'atteindre avec un transfert fixe est une autre disposition.

Articles similaires