Teamviewer-ähnlicher SSH-Daemon

7

Ich habe zu Hause einen Computer mit installiertem SSH, den ich fernsteuern möchte. Ich kann die Weiterleitung von SSH-Ports über meinen Router jedoch nicht zulassen. Der einzige Weg, um darauf zuzugreifen, besteht darin, dass die Installation auf meinem Computer einen Port auf einem Server auf Verbindungen überwacht. Gibt es zu diesem Zweck bereits Software?

Danielmhanover
quelle
2
Wenn Sie Zugriff auf einen zweiten Server mit Blick auf die Welt haben, können Sie einen umgekehrten Tunnel
einrichten
Ich habe Zugriff auf einen öffentlichen Server. Wenn ich einen Reverse-Tunnel einrichten würde, müsste der Server mit Blick auf die Welt in der Lage sein, eine Verbindung zum Computer herzustellen?
Danielmhanover

Antworten:

6

Wie Sie bereits erwähnt haben, sollten Sie in der Lage sein, über einen Reverse-Tunnel auf einen externen Server zuzugreifen.

Von Ihrem Heimsystem aus möchten Sie ssh auf den Remote-Server mit folgender Syntax:

ssh -g -R 12345:localhost:22 user@remoteserver
  • Mit dem Flag -g können Remote-Hosts eine Verbindung zum weitergeleiteten Port herstellen. Andernfalls ist die Standardeinstellung für ssh, dass nur das System, das zuerst den Tunnel erstellt hat, den Port verwenden kann (dh den Heimserver).
  • -R wird verwendet, um den umgekehrten Tunnel einzurichten, und wir sagen, dass Verbindungen zu Remoteserver: 12345 an localhost: 22 weitergeleitet werden sollten

Um den Tunnel zu benutzen, würden Sie Folgendes tun:

ssh -p 12345 remoteserver

Damit dieser Tunnel funktioniert, müssen Sie natürlich sicherstellen, dass die SSH-Sitzung vom Heimserver zum Remoteserver am Leben bleibt.

Ernie
quelle
1
Danke @ernie, für die "-g" Info. Ich wusste es nicht, also verwendete ich bis jetzt ein Portweiterleitungsprogramm, das ständig auf dem Server ausgeführt wurde. Eine einfache, die hier zu finden ist: quantumg.net/portforward.php . In einigen Fällen könnte meine Methode auch nützlich sein.
Sopalajo de Arrierez
1
Gibt es eine zuverlässige Methode, um die umgekehrte Sitzung am Leben zu erhalten?
Ashley
1

@Ashley Steel, sehen Sie sich an, wie Sie den Wert von ServerAliveInterval auf einen Wert ungleich Null setzen. In der ssh-Befehlszeile wäre das ungefähr so: -oServerAliveInterval \ 60

Sie können es auch in der .ssh / config-Datei vom Remote-Host konfigurieren.

Yedric
quelle