Leiten Sie den gesamten Datenverkehr mit Reverse SSH an einen anderen Computer weiter.

Leiten Sie den gesamten Datenverkehr mit Reverse SSH an einen anderen Computer weiter.

Ich habe das folgende Szenario

                                                                                                                  
               Local Network                     |                          Global Network                        
                                                 |                                                                
                                                 |                                                                
                                                 |                                                                
                                                 |                                                                
                                                 |                                                                
                                                 |                                                                
                                                 |                                                                
+------------+              +-----------+        |               +----------+                   +----------------+
|   client A | -----------> |  server A | <--------------------> | server B | --------------->  | Global Network |
+------------+              +-----------+        |               +----------+                   +----------------+
                                                 |                                                                
                                                 |                                                                

Die bevorstehende Herausforderung:

Leiten Sie den gesamten Datenverkehr von server Anach weiter server B. Da alle Tunnelprotokolle in geschlossen sind server A, dachte ich, dass Reverse-SSH eine gute Option ist.

Ich verwende den folgenden Befehl für Reverse-SSH: ssh -fNT -R 4000:localhost:22 [email protected] -i <private-key>

Jetzt server Akann ich sehen, dass der Port 4000geöffnet ist. Aber ich weiß nicht, wie ich den gesamten Verkehr übertragen soll aufserver B

Antwort1

Mein erster Gedanke ist, eine Tun-Schnittstelle zu erstellen und das Routing entsprechend einzurichten. Wie Sie unten sehen, ist von ssh man das folgende Befehlszeilenargument verfügbar.

-w local_tun[:remote_tun] Fordert Tunnelgeräteweiterleitung mit den angegebenen tun(4)-Geräten zwischen >dem Client (local_tun) und dem Server (remote_tun) an. Die Geräte können durch eine numerische ID oder das Schlüsselwort „any“ angegeben werden, das >das nächste verfügbare Tunnelgerät verwendet. Wenn remote_tun nicht angegeben ist, wird es >standardmäßig auf „any“ gesetzt. Siehe auch die Tunnel- und TunnelDevice-Anweisungen in >ssh_config(5).

Wenn die Tunnel-Direktive nicht gesetzt ist, wird sie auf den Standard-Tunnelmodus „Punkt-zu-Punkt“ gesetzt. Wenn ein anderer Tunnel-Weiterleitungsmodus gewünscht wird, muss dieser vor -w angegeben werden.

Diese Antwort enthält weitere Einzelheiten.

https://unix.stackexchange.com/questions/525217/create-network-interface-from-ssh-tunnel

verwandte Informationen