Ein zufälliger lokaler Port ist völlig irrelevant. völlig irrelevant. und Portweiterleitung ist vielleicht nicht der richtige Begriff für das, was Sie wollen. Ihre Frage bezieht sich auf SSH mit einem Proxy. Ich habe es nicht getan, aber es gibt Möglichkeiten. Sie benötigen einen Computer zwischen Ihnen und dem SSH-Server, den der SSH-Server zulässt. Abgesehen davon ist ein Begriff, den Sie vielleicht wollen, "TCP-Port-Remapper". Es gibt Programme, die das auch tun. Ich werde einige erwähnen, aber die meisten Leute würden ssh verwenden, so gut es geht.
wenn es sich um ein von ssh getrenntes tool handelt
Dieses Programm kann das von Ihnen gewünschte TCP-Port-Remapping durchführen
port mapper pm.exe
http://www.kmint21.com/free/
oder nc, versuche es von cygwin (es ist nicht in gnuwin32) nc -l 1234 | nc 4.5.6.7 22
<- lausche auf port 1234, weiter auf ip 4.5.6.7 port 22
oder mit netsh auf Ihrem Proxy-
C:\Windows\system32>netsh interface portproxy add v4tov4 listenport=4321 connect
address=10.0.0.50 connectport=47
see it is listening, and will forward to 10.0.0.50:47
C:\Windows\system32>netstat -aon | find "4321"
TCP 0.0.0.0:4321 0.0.0.0:0 LISTENING 844
Aber Sie können ssh dafür verwenden, es ist sehr dafür ausgelegt.
SSH selbst kann TCP-Port-Remapping durchführen. (SSH kann diese Port-Weiterleitung aufrufen.)
Sie führen einen SSH-Server auf einem Computer mit einer IP aus, die für Ihren Nicht-SSH-Server in Ordnung ist.
dann benutzt du ssh -L auf diesem Computer. Dies erfordert unter anderem 2 Parameter, die IP zum Abhören und den IP: PORT zum Weiterleiten.
Sie haben also compA, CompB, CompC
CompB und CompC wären in Ihrem Fall wohl nicht die gleichen Comps.
compC führt Ihren Nicht-SSH-Server aus. compB führt den ssh-Server aus.
Die IP von CompA wird von CompC nicht zugelassen, jedoch von CompB.
CompC erlaubt in CompBs IP.
So kommunizieren CompA und CompC über CompB.
Von CompA aus stellen Sie eine Verbindung zu CompB her, und zuvor führen Sie auf compB Ihr Port-Remapping aus. Dies kann ssh tun. ssh -L ... viele Beispiele für ssh -L online, die Sie in die Details Ihres Falls, der IP Ihres ssh-Servers und des Ports eingeben können, um zu überwachen, ob CompA eine Verbindung herstellt. und IP: PORT Ihres Nicht-SSH-Servers. Sie alle geben den Befehl ssh -L ein, den Sie auf CompB ausführen. ssh -L erstellt eine Portweiterleitungsfunktion, bei der das Comp mit ssh.exe (für Ihren normalerweise nicht ssh-fähigen Client) und das Comp mit sshd.exe (für Ihren normalerweise nicht ssh-fähigen Server) empfangsbereit sind.
Anschließend verbinden Sie Ihren Nicht-SSH-Client von CompA mit CompB. und es wird über die von Ihnen hergestellte SSH-Verbindung an CompC weitergeleitet.