Wie richte ich einen SSH-Tunnel für die Verbindung mit einem Proxy ein?

2

Ich habe zwei Maschinen Sund Cdas ist in einem lokalen Netzwerk. Um von jedem Computer im Netzwerk auf das Internet zuzugreifen, muss ein Web-Proxy verwendet werden. Squid3 wird verwendet. Daher kann ich mich immer nur von einem der Computer gleichzeitig beim Proxy anmelden und daher nicht gleichzeitig von den anderen auf das Internet zugreifen.

Also habe ich einen SSH - Tunnel nach oben aus Czu S. Ich melde mich beim Web-Proxy an S. Ich konfiguriere meinen Webbrowser so C, dass er den Tunnel als Proxy verwendet. Ich kann jedoch nicht über auf das Internet zugreifen C. Ich erhalte die Fehlermeldung "Verbindung abgelehnt" auf dem Terminal, auf dem ich den SSH-Tunnelprozess gestartet habe.

ssh -fND 8080 user@remotehost

Bildbeschreibung hier eingeben

Meine Frage ist: Da Sauch ein Proxy selbst verwendet wird, muss ich weitere Einstellungen vornehmen, damit der SSH-Tunnel funktioniert?

Wie kann Sman mit den Daten umgehen, die Cüber den SSH-Tunnel empfangen werden ?

Bearbeiten: Ich habe jetzt Folgendes ausgeführt: Auf habe Sich einen squid3-Proxyserver installiert und Cdie Verwendung des neuen Proxys konfiguriert . Diese Lösung funktioniert. Ich benötige die von SSH bereitgestellte Verschlüsselung nicht. Ich möchte Folgendes wissen: Ist SSH-Tunneling aus einem anderen Grund als der Verschlüsselung besser als meine aktuelle Lösung? (Bitte sagen Sie mir, ob ich dafür eine neue Frage hätte öffnen sollen).

AnkurVj
quelle
@slhck ja das beschreibt genau meine situation. Ich verwende nur einen ssh-Befehl auf der Clientseite ssh -fND 8080 user @ remotehost. Vielen Dank für die sehr nützliche Illustration.
AnkurVj
Nichts - ich habe das Bild und den Befehl zu Ihrer Frage hinzugefügt.
Slhck

Antworten:

1

Hier ist der Befehl, den ich verwende: ssh -g -L192.168.2.1: 8190: Proxy-Server: 3128 Relay-Server

Ich habe also einen Clientcomputer im lokalen Netzwerk, einen lokalen Server, dann einen Server, mit dem ich eine Verbindung herstelle, und schließlich den Proxyserver, der als HTTP-Proxy fungiert. Der Proxy- und der Relay-Server können natürlich identisch sein.

Ich gebe diesen Befehl auf dem lokalen Server, nach dem Clients, die über die Schnittstelle mit der Adresse 192.168.2.1 kommen, den Proxy verwenden können. Die Option -g wird benötigt, damit der Proxy für jedermann geöffnet ist, dh. außerhalb der Maschine, die den Tunnel erstellt. -G verwenden ist riskant, so dass Sie benötigen die lokale Schnittstelle angeben , um zu binden; Sie wollen den Tunnel nicht für die ganze Welt öffnen.

In Ihrem Image wäre "Proxy" sowohl Proxy-Server als auch Relay-Server, "S" der lokale Server und "C" ein Client, der den Tunnel verwendet.

Zds
quelle
Hallo, es tut mir leid, aber beim Ausführen dieses Befehls werde Sich nach dem Root-Passwort für den Proxy-Server gefragt. Ist das das richtige Verhalten? Ich habe keinen Zugriff auf den Computer, auf dem der Proxyserver ausgeführt wird.
AnkurVj
Der Relay-Server muss den Proxy sehen und Zugriff darauf haben. Wenn die Maschine "S" darauf zugreifen kann, ersetzen Sie den "Relay-Server" durch S. Außerdem können Sie dem Teil "Relay-Server" eine beliebige Anmeldung mit @: wie login @ Relay-Server geben.
Zds
> Ersetzen Sie den Relay-Server durch S, aber ich dachte, ich würde diesen Befehl auf S ausführen.
AnkurVj
Jep. Sie können ssh ... user @ localhost schreiben und es funktioniert.
Zds