Redirection dynamique inverse SSH : créer un écouteur SOCKS distant
Créez un écouteur SOCKS dynamique inverse sur un serveur SSH, les connexions aux destinations étant ouvertes depuis le côté client.
D'ordinaire, un tunnel SSH SOCKS donne à un ordinateur portable la sortie réseau du serveur. La redirection dynamique inverse renverse cette disposition : un programme sur la machine distante peut utiliser le réseau dont dispose votre client SSH.
Sur un client OpenSSH prenant en charge la redirection distante sans destination :
ssh -N -R 127.0.0.1:1080 [email protected]
L'écouteur SOCKS se trouve sur remote.example.net, lié à son adresse loopback. Les programmes qui s'y trouvent utilisent 127.0.0.1:1080. Les connexions aux destinations repassent par SSH et sont ouvertes du côté où s'exécute votre client.
Lisez le sens avant l'IP
La documentation de -R rend la destination omise significative. Une spécification contenant port:host:hostport est en revanche une redirection fixe. Ne supposez pas qu'un ancien client prenne en charge la forme dynamique abrégée.
L'IP sortante est celle que le réseau de votre côté client utilise pour ces connexions. Un ordinateur portable derrière un routeur domestique peut sortir par l'adresse publique traduite du routeur. Ce n'est pas automatiquement l'IP du serveur SSH, ni une adresse attribuée directement à l'ordinateur portable.
Gardez l'écouteur distant restreint. Une liaison générique peut permettre à d'autres machines d'utiliser le réseau de votre côté client comme sortie, selon la politique du serveur. Même loopback peut être accessible à d'autres processus éligibles sur l'hôte distant ; ce n'est pas un secret par processus.
Pour un ensemble restreint de destinations, examinez PermitRemoteOpen et la politique de redirection du serveur. La route dépend aussi du maintien en ligne de votre client. Quand cette connexion se ferme, le chemin proxy distant disparaît. La redirection inverse change l'origine des connexions ; elle ne fournit pas un proxy autonome indépendant de la session SSH.