Ich bin ein wachsender Fan von Mosh und benutze es zunehmend, wenn ich unzuverlässige WiFi-Verbindungen habe. Was ich versuche herauszufinden, ist, wie man einen Tunnel durch einen Server baut, der sich in einer DMZ befindet (verbunden mit dem Internet und einem Firewall-Netzwerk).
Meine aktuelle Lösung mit ssh besteht darin, .ssh / config so zu bearbeiten , dass folgende Zeilen enthalten sind:
Host server-behind-firewall
ProxyCommand ssh server-in-dmz nc %h %p
Ich habe auch herausgefunden, wie ich ssh verwenden kann, um ein Bein zu machen und das andere zu mischen:
ssh -t server-in-dmz mosh server-behind-firewall
Zwischen server-in-dmz und server-behind-firewall habe ich eine mosh-session mit screen aufgebaut.
Aber was möchte ich wirklich nur von Ende zu Ende mosh verwenden. Ich würde vermuten, dass ich Server-in-DMZ aufrüsten muss, damit ein Mosh-Server mithört. Aber die Manpage von mosh-server sagt: "Es wird beendet, wenn kein Client innerhalb von 60 Sekunden Kontakt mit ihm aufgenommen hat."
Kurz gesagt lautet die Frage: Wie kann ein Mosh-Tunnel mit mehreren Hosts erstellt werden?
Antworten:
Vielleicht möchten Sie stone ausprobieren , einen TCP- und UDP-Paketrepeater. Dies bedeutet im Wesentlichen, dass Sie möglicherweise die folgende Konfiguration haben:
Sie <---> steinigen auf Server-in-DMZ <---> Server-hinter-Firewall
Lassen Sie also Server-in-DMZ Port X abhören, damit SSH-Pakete an Server-Behind-Firewall weitergeleitet werden, und einen weiteren Port, Port Y, für die UDP-Pakete, die an Port 60000 an Server-Behind-Firewall weitergeleitet werden Mosh-Server.
Sie müssen sich mit dem folgenden Befehl mit mosh verbinden:
quelle
Anstatt den Datenverkehr auf der Anwendungsebene wie von @Hengjie vorgeschlagen weiterzuleiten, können Sie auch iptables verwenden (auf server-in-dmz):
Dann verbinden Sie sich mit
mosh -p 60159 --ssh='ssh -p 11559' server-in-dmz
Hinweis:
quelle