Il existe principalement deux types de redirection de port SSH. Redirection de port local et redirection de port distant.
Dans cet article, je vais vous montrer comment effectuer une redirection de port sous Linux. Pour suivre cet article, vous devrez avoir des utilitaires SSH installés sur votre machine Linux. Je vais vous montrer comment faire, ne vous inquiétez pas. Commençons.
Installation des utilitaires SSH sur Red Hat Enterprise Linux (RHEL) 7 et CentOS 7
Sur RHEL 7 et CentOS 7, vous pouvez installer les utilitaires SSH avec la commande suivante :
$ sudo yum install openssh-clients openssh-server
presse oui puis appuyez sur
Les utilitaires SSH doivent être installés.
Installation des utilitaires SSH sur Ubuntu, Debian et d'autres distributions basées sur Ubuntu/Debian
Sur Ubuntu, Debian, Linux Mint et d'autres distributions basées sur le système d'exploitation Ubuntu/Debian, exécutez la commande suivante pour installer les utilitaires SSH :
$ sudo apt-get install openssh-client openssh-server
Maintenant, appuyez sur oui puis appuyez sur
Les utilitaires SSH doivent être installés.
Installation des utilitaires SSH sur Arch Linux
Si vous utilisez Arch Linux, exécutez la commande suivante pour installer les utilitaires SSH :
$ sudo pacman -Sy openssh
Maintenant, appuyez sur oui puis appuyez sur
Les utilitaires SSH doivent être installés.
Sur Arch Linux, le serveur SSH n'est pas démarré par défaut. Vous devrez le démarrer manuellement avec la commande suivante :
$ sudo systemctl démarrer sshd
Ajoutez maintenant le serveur SSH au démarrage du système, afin qu'il démarre automatiquement au démarrage du système :
$ sudo systemctl activer sshd
Redirection de port local
Le transfert de port local est utilisé pour transférer un port d'un serveur distant sur un autre port d'un ordinateur local. Un exemple vous aidera à comprendre ce que je veux dire.
Disons que vous avez un serveur, serveur1 qui a une adresse IP de 192.168.199.153. serveur1 a un serveur web en cours d'exécution. Bien sûr si vous êtes connecté au même réseau que le serveur serveur1, alors vous pouvez taper l'adresse IP dans le navigateur et vous connecter à serveur1 De votre ordinateur. Mais que faire si vous voulez y accéder comme si le service s'exécutait sur votre ordinateur sur un port? Eh bien, c'est ce que fait la redirection de port local.
Comme vous pouvez le voir dans la capture d'écran ci-dessous, je peux accéder au serveur Web sur serveur1 en utilisant son adresse IP :
Exécutez maintenant la commande suivante depuis votre ordinateur local pour transférer le port 80 (http) vers le port 6900 (disons) vers votre ordinateur local :
$ ssh -L 6900:192.168.199.153:80 hôte local
Tapez Oui puis appuyez sur
Tapez maintenant le mot de passe de votre ordinateur local et appuyez sur
Vous êtes connecté.
Vous pouvez maintenant accéder au serveur Web que vous avez utilisé auparavant en tant que http://localhost:6900, comme vous pouvez le voir dans la capture d'écran ci-dessous.
Redirection de port distant
La redirection de port distant transfère un port d'un serveur/ordinateur local vers un serveur distant. Ainsi, même si votre serveur/ordinateur local n'a pas d'adresse IP routable sur Internet, vous pouvez toujours vous y connecter à l'aide de l'adresse IP du serveur distant et du port transféré.
Supposons que vous souhaitiez vous connecter au serveur Web de votre ordinateur local depuis Internet. Mais il n'a pas d'adresse IP routable sur Internet. Vous pouvez utiliser un serveur distant (tel que VPS) accessible depuis Internet et effectuer une redirection de port à distance avec celui-ci. je n'ai pas de VPS. Supposons simplement serveur1 est le serveur distant.
Configurer d'abord serveur1 serveur pour permettre l'accès aux ports transférés sur Internet.
Pour ce faire, éditez /etc/sshd_config avec la commande suivante :
$ sudo nano /etc/sshd_config
Vous devriez voir la fenêtre suivante.
Faites défiler vers le bas et trouvez GatewayPorts comme indiqué dans la capture d'écran ci-dessous.
Maintenant, décommentez-le et réglez-le sur Oui comme indiqué dans la capture d'écran ci-dessous.
Maintenant, appuyez sur
Redémarrez maintenant le serveur SSH de serveur1 avec la commande suivante :
$ sudo systemctl redémarrer sshd
Sur mon ordinateur local, un serveur Web est en cours d'exécution comme vous pouvez le voir dans la capture d'écran ci-dessous.
Vous pouvez maintenant exécuter la commande suivante à partir de l'ordinateur local pour transférer le port 80 (http) de votre ordinateur local vers le port 9999 sur le serveur distant serveur1 qui a une adresse IP 192.168.199.153:
$ ssh -R 9999:localhost:80 192.168.199.153
Tapez Oui et appuyez sur
Tapez le mot de passe de votre serveur distant serveur1.
Vous êtes connecté.
Comme vous pouvez le voir sur la capture d'écran ci-dessous, je peux me connecter au port 9999 sur mon serveur distant serveur1 et accéder à mon serveur web local.
Je peux également me connecter à mon serveur Web en utilisant l'adresse IP du serveur distant serveur1 et le port redirigé 9999 à partir d'autres ordinateurs sur mon réseau comme vous pouvez le voir sur la capture d'écran ci-dessous.
C'est ainsi que vous effectuez la redirection de port SSH sous Linux. Merci d'avoir lu cet article.