Les utilisateurs réguliers de Linux connaissent SSH, car c'est essentiellement ce qui leur permet de se connecter à distance à n'importe quel serveur pour pouvoir le gérer via la ligne de commande. Cependant, ce n'est pas la seule chose que SSH peut vous fournir, il peut également agir comme un excellent outil de sécurité pour chiffrer vos connexions même lorsqu'il n'y a pas de chiffrement par défaut.
Par exemple, supposons que vous ayez un bureau Linux distant auquel vous souhaitez vous connecter via SMTP ou par e-mail, mais que le pare-feu de ce réseau bloque actuellement le port SMTP (25), ce qui est très courant. Grâce à un tunnel SSH, vous vous connecteriez simplement à ce service SMTP particulier en utilisant un autre port en utilisant simplement SSH sans avoir à reconfigurer la configuration SMTP sur un port différent et en plus, en obtenant les capacités de cryptage de SSH.
Configurer OpenSSH pour le transfert de port
Pour qu'OpenSSH Server autorise le transfert, vous devez vous assurer qu'il est actif dans la configuration. Pour ce faire, vous devez modifier votre /etc/ssh/ssh_config fichier.
Pour Ubuntu 18.04, ce fichier a un peu changé, vous devez donc décommenter une ligne :
Une fois décommenté, vous devez redémarrer le service SSH pour appliquer les modifications :
Maintenant que notre cible est configurée pour autoriser le transfert SSH, nous devons simplement rediriger les choses via un port dont nous savons qu'il n'est pas bloqué. Utilisons un port très rarement bloqué comme 3300 :
Alors maintenant que nous avons fait cela, tout le trafic qui arrive sur le port 25 sera automatiquement envoyé sur le port 3300. Depuis un autre ordinateur ou client, nous allons simplement nous connecter à ce serveur sur son port 3300 et nous pourrons alors interagir avec lui comme il était un serveur SMTP sans aucune restriction de pare-feu sur son port 25, en gros, nous avons simplement redirigé son trafic du port 25 vers un autre (non bloqué) pour pouvoir y accéder.
L'inverse :transfert à distance
Nous avons parlé de rediriger un port local vers un autre port, mais disons que vous voulez faire exactement le contraire :vous voulez acheminer un port distant ou quelque chose auquel vous pouvez actuellement accéder depuis le serveur vers un port local.
Pour l'expliquer facilement, utilisons un exemple similaire au précédent :à partir de ce serveur, vous accédez à un serveur particulier via le port 25 (SMTP) et vous souhaitez le "partager" via un port local 3302 afin que n'importe qui d'autre puisse se connecter à votre serveur. au port 3302 et voyez ce que ce serveur voit sur le port 25 :
Résumé et quelques conseils sur le transfert de port SSH
Comme vous pouvez le voir, ce transfert SSH agit comme un très petit VPN, car il achemine les choses vers des ports donnés. Chaque fois que vous exécutez ces commandes, elles ouvriront des shells SSH, car il comprend que vous devez interagir avec le serveur via SSH. Si vous n'en avez pas besoin, il suffira d'y ajouter simplement l'option "-N", afin qu'ils n'ouvrent tout simplement aucun shell.