
Beispiel-Anwendungsfall:
- Ich arbeite an meinem Laptop mit Mac OS X (A) und bin bei meinem Entwicklungsserver angemeldet (B) über SSH.
- Ich habe ein Skript, das eine GitHub-URL für die Datei/den Zweig generiert, die/den ich derzeit in meinem Editor geöffnet habe (B).
- Ich möchte diese URL in einem Browser auf meinem Laptop öffnen (A).
Andere Anwendungsfälle könnten sein:
- Aktualisieren Sie meinen Browser jedes Mal, wenn ich eine Datei speichere
- Ein Lied wird lokal abgespielt, wenn ich eineGit-Befehl
- Öffnen Sie ein Jira-Ticket, das dem von mir ausgecheckten Zweig entspricht.
Antwort1
Sie können einen SSH-Reverse-Tunnel verwenden. Das funktioniert folgendermaßen: Führen Sie dies auf der Maschine aus, die Sie hier verwenden. Dies remote_server
ist der Name des Remote-Servers:
ssh -R 13000:localhost:22 remote_server
Und zeigen Sie es im Bild auf Ihrem local machine
von remote server
:
ssh <USERNAME>@localhost -p 13000 "DISPLAY=:0 ristretto <IMAGE>"
BEARBEITEN: Auf einem Mac OS-Rechner ist möglicherweise kein X-Server installiert. Ich verwende ihn nicht, aber die Grundidee bleibt dieselbe. Der Vorteil der Verwendung von Reverse Tunneling besteht darin, dass Ihr lokaler Rechner keine öffentliche IP-Adresse haben muss.
Antwort2
Dies ist vielleicht nicht die eleganteste Vorgehensweise, aber da Sie Mac OS X verwenden, fällt mir nur ein, wenn Sie bereits per Remote auf die andere Maschine zugreifen, einen SSH-Befehl wie diesen an Ihren Host zurückzusenden. Die wichtigste Voraussetzung ist, dass Ihr SSH-Server auf Ihrem Mac OS X-Laptop läuft und dass die Firewall-Regeln Ihres Routers SSH-Verbindungen auf Port 22 zulassen, damit dies funktioniert.
Nehmen wir also an, Ihr Laptop heißt und Sie möchten eine URL wie von der Remote-Maschine aus machineA
öffnen (http://google.com
B), dann würden Sie einfach diesen SSH-Befehl auf dem Computer ausführenB.
ssh username@machineA 'open http://google.com'
Dadurch wird eine SSH-Verbindung zu Ihrem lokalen Computer hergestellt und der Befehl ausgeführt, open http://google.com
der ein Browserfenster (basierend auf Ihrem Standardbrowser) öffnet, das zu der ihm übergebenen URL führt http://google.com
.