1 votes

Sur quel serveur dois-je exécuter la commande de transfert de port ssh ?

J'ai un Macbook A un serveur public B(public IP: 1.2.3.4, internal IP: 10.0.0.2) un serveur interne C(internal IP: 10.0.0.3)

A peut se connecter à B par l'IP publique de B et B peut se connecter à C par l'IP privée de C, mais A ne peut pas se connecter directement à C

Maintenant, je veux me connecter à C:2345 de A donc je pense que je peux faire la redirection de port en B:1234=>C:2345 ?

Quelle commande dois-je exécuter et sur quel serveur dois-je le faire ?

J'ai essayé :

ssh -NfR 1234:localhost:2345 10.0.0.3 ssh -L 1234:0.0.0.0:2345 10.0.0.3

Aucun des deux ne fonctionne.

1voto

Kamil Maciorowski Points 57004

Pour faire exactement ce que vous avez demandé ( B:1234=>C:2345 ), il doit être exécuté sur B :

# Not recommended. Read along.
ssh -NgL 1.2.3.4:1234:localhost:2345 10.0.0.3

Il faut également ouvrir le 1234 le port en B pare-feu. Puis connectez-vous à 1.2.3.4:1234 de l'extérieur pour atteindre 10.0.0.3:2345 comme si vous vous connectiez depuis le C lui-même (via son interface de bouclage). N'importe qui peut se connecter, donc gardez cela à l'esprit si le serveur sur C (quel que soit le serveur) n'est pas protégé par un mot de passe.


Un moyen plus facile et beaucoup plus sûr de se rendre à l'adresse suivante A à C est le suivant. Il ne fait pas exactement ce que vous avez demandé mais c'est probablement ce que vous voulez. Sur A :

ssh -NL 1234:10.0.0.3:2345 1.2.3.4

Ensuite, connectez-vous à 127.0.0.1:1234 en A pour se rendre au port 2345 en C . C verra le trafic venant de B . Cette connexion est disponible pour A uniquement, la méthode est donc beaucoup plus sûre que la précédente.

Si vous voulez permettre à d'autres ordinateurs (disons : d'un réseau LAN où A est) pour se connecter, vous devez utiliser -g et spécifier l'adresse de liaison. Par exemple :

ssh -NgL A_LAN_address_here:1234:10.0.0.3:2345 1.2.3.4

Dans ce cas, reconfigurer le pare-feu sur A en conséquence, puis connectez-vous à A_LAN_address_here:1234 .

0voto

Oliver Points 125

Sur le Mac, vous devez d'abord faire

ssh -L2345:10.0.0.3:2345 10.0.0.2

Cela ouvre un port local 2345 sur votre Mac qui est une connexion directe à :2345 sur 10.0.0.3

Ensuite, il suffit d'accéder 127.0.0.1:2345 sur votre Mac. Tout ce qui va vers ce port sera tunnelisé par ssh et ira vers 10.0.0.3:2345 . Pour ce serveur, il apparaîtra comme venant de 10.0.0.2 .

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X