Führen Sie SSH über einen Proxy aus

1

Ich habe eine Frage.

Wie kann ich SSH über einen Proxy oder ein SSH-Tunneling-Protokoll ausführen?

Zum Beispiel habe ich einen Computer (Ubuntu) mit IP zB. 123.123.123.123und ich möchte eine Verbindung zu meinem Server über einen Proxy herstellen, z. 111.111.111.111so kann ich sehen, lastlogdass die letzte Authentifizierung von gemacht wurde 123.123.123.123.

Ich brauche das, weil ich bei der Arbeit nicht auf einen bestimmten Server zugreifen kann, nur mit einer bestimmten Bereichs-IP. Was ich bisher ausprobiert habe, war

http://daniel.haxx.se/docs/sshproxy.html

wo ich verwendet, ssh -D 1 [email protected] -p 443 wo ich 127.0.0.1zu einem SSH-Tunneling-Protokoll weitergeleitet hatte

http://www.nixtutor.com/linux/installing-and-configuring-an-ssh-server/ (Ich habe das Abhören von Port 443 konfiguriert, aber kein Ergebnis, immer noch keine Verbindung (verweigert) ...)

Diese Frage mag einfach klingen, aber ich kann es nicht herausfinden, können Sie mir bitte helfen? Vielen Dank.

Row Minds
quelle

Antworten:

1

Ich bin auf ein ähnliches Problem gestoßen, bei dem ich über einen zentralen Zugriffsserver auch an der Universität eine Verbindung zu den Maschinen an meiner Universität herstellen kann. Also habe ich folgendes zu meiner ssh conf hinzugefügt

Host *.host.name.com
ProxyCommand ssh central.access.server.host.name.com nc %h %p

Dadurch werden alle Befehle über den zentralen Zugriffsserver an alle unter host.name angegebenen Befehle weitergeleitet. Sie müssen sich immer noch zweimal anmelden (einmal für den zentralen Server und erneut für den Zielcomputer), aber es ermöglicht den einfachen Zugriff auf Git-Repos usw. hinter dem zentralen Server.

Sie müssen die obigen Zeilen in Ihre ssh conf-Datei einfügen. Öffnen Sie die ~/.ssh/configDatei in einem Texteditor (wenn sie nicht beendet wird, erstellen Sie sie) und fügen Sie diese beiden Zeilen dort ein (wobei Sie natürlich die Hostnamen durch diejenigen ersetzen, zu denen Sie eine Verbindung herstellen müssen).

Ssh liest die conf-Datei bei der Verbindung und stellt fest, dass eine Verbindung *.host.name.commit dem Befehl darunter als Proxy eingerichtet werden soll. Siehe die sshund ncman - Seiten für eine Erklärung zu den Parametern.

UPDATE Aah, hier geht es also um Chrome, nicht um ssh. In diesem Fall müssen Sie die Proxy-Einstellungen in Chrome vornehmen. Diese variieren je nach Plattform. In OS X Chrome werden anscheinend die systemweiten Proxy-Einstellungen verwendet. In Windows können Sie den Proxy jedoch speziell für Chrome festlegen. Unter Ubuntu scheint es ein Problem mit Chrome und den systemweiten Proxy-Einstellungen gemäß Ask Ubuntu zu geben . Wenn Sie bereit sind, Firefox zu verwenden, wird das Ändern der Proxy-Einstellungen etwas einfacher .

http://www.googlechrometutorial.com/google-chrome-advanced-settings/Google-chrome-proxy-settings.html

Matti Lyra
quelle
1
+1 ... Beachten Sie auch, dass Sie möglicherweise ssh-Optionen -x -a -qin Ihrem ProxyCommand verwenden möchten. In neueren OpenSSH-Versionen können Sie die Netcat-Bits durch -WOptionen ersetzen . (All dies ist auf der Manpage von ssh dokumentiert.)
ghoti
Ich benutze Ubuntuund ich weiß es nicht sshgut genug ... Entschuldigung, kannst du es mir Schritt für Schritt sagen? Im Moment möchte ich über den Proxy eine Verbindung zu diesem Server herstellen (der auf den Proxy 127.0.0.1hinweist). 111.111.111.111Wenn ich also 111.111.111.111zum Beispiel in Chrome surfe, kann ich mit diesem Proxy im Internet surfen und hoffe, dass ich mich klar
Ich fürchte, Sie haben es nicht getan. Ich dachte, Sie wollten ssh (nicht Chrome) über einen Proxy zum Laufen bringen. Siehe Update oben.
Matti Lyra,
nein, es geht darum, sich über einen Proxy bei einem Linux-Server anzumelden, nicht über meine Basis-IP.
Row Minds
ok, ich weiß nicht, wofür du dann chrome brauchst, aber die ssh conf mit netcat wird funktionieren.
Matti Lyra