Reverse Proxy mit ssh

906
wintergrascph

Ich habe das folgende Setup:

A: Mein Linux-Laptop zu Hause
B: Eine Windows-Maschine, auf die ich über VNC zugreifen kann. Dieser PC befindet sich hinter einer restriktiven Firewall.
C: Eine SPS befindet sich im selben Subnetz wie B

Ich möchte einen Tunnel zwischen A: port1 und C: port2 über B erstellen, so dass beim Herstellen einer Verbindung von A nach localhost: port1 die Verbindung zu C: port2 hergestellt wird.

Kann man dies tun, indem man von B nach A über ssh verbindet und wenn ja, wie?

0

1 Antwort auf die Frage

1
Ivan

Nun, wenn Sie ssh verwenden möchten, können Sie

A) Verbindung von A nach B über ssh mit Portweiterleitung, wenn Sie einen ssh-Server auf B haben, z

user@A $ ssh -L 1122:C:1122 B 

B) Verbindung von B nach A über ssh mit umgekehrter Portweiterleitung, wenn Sie mit ssh-Zugriff von B nach A in Ordnung sind

user@B $ ssh -R 1122:C:1122 A 

Wenn Sie sich für Ansatz B entscheiden, können Sie die Belastung Ihres A-Computers reduzieren, aber den ssh-Zugriff auf Portfowarding beschränken. Zum Beispiel durch Authentifizierung über den pubkey, wobei die Einschränkungen in authorized_keys gesetzt sind.

auser@A $ cat ~/.ssh/authorized_keys restrict,port-forwarding ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIGiHycmak/rgoAF+A+wG+K8Rk2iYhcVXcuFiajEOxHe3 buser  buser@B $ ssh -v -R 1122:C:1122 -N -i path/to/my/key auser@A