Il existe principalement deux types de transfert de port SSH. Transfert de port local et transfert de port distant.
Dans cet article, je vais vous montrer comment effectuer un transfert de port sur Linux. Pour suivre cet article, vous devrez faire installer des services publics SSH sur votre machine Linux. Je vais vous montrer comment le faire, ne vous inquiétez pas. Commençons.
Installation des services publics SSH sur Red Hat Enterprise Linux (RHEL) 7 et CentOS 7
Sur RHEL 7 et CENTOS 7, vous pouvez installer SSH Utilities avec la commande suivante:
$ sudo yum install openssh-clients openssh-server
Presse y Et puis appuyez sur continuer.
Les services publics SSH doivent être installés.
Installation des services publics 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 SSH Utilities:
$ sudo apt-get install openSSH-Client openSSH-server
Maintenant, appuyez sur y Et puis appuyez sur continuer.
Les services publics SSH doivent être installés.
Installation des services publics SSH sur Arch Linux
Si vous êtes sur Arch Linux, exécutez la commande suivante pour installer SSH Utilities:
$ sudo pacman -Sy openssh
Maintenant, appuyez sur y Et puis appuyez sur .
Les services publics 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 start sshd
Ajoutez maintenant SSH Server au démarrage du système, afin qu'il commence automatiquement lorsque le système est en bottes:
$ sudo systemctl activer sshd
Transfert portuaire 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, Ensuite, vous pouvez saisir l'adresse IP dans le navigateur et vous connecter à serveur1 De votre ordinateur. Mais que se passe-t-il si vous souhaitez y accéder comme si le service s'exécute sur votre ordinateur sur un port? Eh bien, c'est ce que fait le transfert de port local.
Comme vous pouvez le voir dans la capture d'écran ci-dessous, je peux accéder au serveur Web sur serveur1 Utilisation de son adresse IP:
Maintenant, exécutez la commande suivante de votre ordinateur local pour transmettre le port 80 (HTTP) au port 6900 (disons) à votre ordinateur local:
$ ssh -l 6900: 192.168.199.153: 80 localhost
Tapez Oui Et puis appuyez sur continuer.
Tapez maintenant le mot de passe de votre ordinateur local et appuyez sur .
Tu es connecté.
Vous pouvez maintenant accéder au serveur Web que vous avez déjà fait en tant que http: // localhost: 6900 comme vous pouvez le voir dans la capture d'écran ci-dessous.
Transfert de ports à distance
Le transfert de port distant transfert un port d'un serveur / ordinateur local sur un serveur distant. Ainsi, même si votre serveur / ordinateur local n'a pas d'adresse IP routier Internet, vous pouvez toujours vous connecter à l'aide de l'IP du serveur distant et du port transmis.
Disons que vous souhaitez vous connecter au serveur Web de votre ordinateur local depuis Internet. Mais il n'a pas d'adresse IP routier Internet. Vous pouvez utiliser un serveur distant (tel que VPS) accessible depuis Internet et effectuer un transfert de port à distance avec. Je n'ai pas de VPS. Supposons simplement serveur1 est le serveur distant.
Configurer d'abord serveur1 Serveur pour permettre aux ports transférés d'accéder sur Internet.
Pour ce faire, modifier / 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 Ports de passerelle comme marqué dans la capture d'écran ci-dessous.
Maintenant, je ne le fais pas et le définissez sur Oui comme marqué dans la capture d'écran ci-dessous.
Maintenant, appuyez sur + X Et puis appuyez sur y Et puis appuyez sur Pour enregistrer le fichier.
Redémarrez maintenant le serveur SSH de serveur1 avec la commande suivante:
$ sudo systemctl redémarrer sshd
Sur mon ordinateur local, un serveur Web fonctionne comme vous pouvez le voir dans la capture d'écran ci-dessous.
Vous pouvez maintenant exécuter la commande suivante de l'ordinateur local pour transférer le port 80 (HTTP) de votre ordinateur local pour porter 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 presser .
Tapez le mot de passe de votre serveur distant serveur1.
Tu es 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 à l'aide de l'adresse IP du serveur distant serveur1 et le port transmis 9999 à partir d'autres ordinateurs de mon réseau comme vous pouvez le voir sur la capture d'écran ci-dessous.
C'est comme ça que vous effectuez un transfert de port SSH sur Linux. Merci d'avoir lu cet article.