Wie Sie zu wissen scheinen, ist jede Lösung, die Sie verwenden, viel schlechter als das Öffnen der Firewall auf Maschine B, um Maschine A zuzulassen.
Sie können einen ssh-Tunnel von Maschine B zu Maschine A erstellen und diesen dann verwenden. Die Syntax würde ungefähr so aussehen (von Maschine A):
ssh -R 8081: localhost: 8080 user @ machineb
Dadurch können Benutzer sich mit localhost verbinden: 8081 auf Maschine A, um sich mit Port 8080 auf Maschineb zu verbinden.
In diesem Fall ist dies keine gute Idee, da Sie die Sichtbarkeit des Datenverkehrs verlieren, wodurch das Debugging schwieriger wird und unnötigerweise durch SSH verschlüsselt wird.
Natürlich gibt es mehrere Möglichkeiten, das Gleiche zu tun, z. B. das Einrichten eines OpenVPN-Tunnels zwischen den beiden Maschinen.