SSH-Tunnel beim Neustart verbinden?


9

Wie kann ich einen Tunnel wiederherstellen, wenn mein lokaler Host ausfällt?

Ich habe 2 Maschinen, Remotehost und Localhost, auf meinem Localhost. Ich führe Autossh aus, um den Tunnel bei Netzwerkproblemen am Leben zu erhalten.

autossh -M 20000 -L 3300:192.168.2.101:3306 -R 3000:192.168.1.3:3000 disp@192.168.2.100 -p 80

aber was ist, wenn ich den localhost neu starten muss? Wie verbinde ich den Tunnel dann automatisch wieder?

Antworten:


14

Setzen Sie den Befehl, um den Tunnel in einem Skript einzurichten, das beim Booten ausgeführt wird. Sie können /etc/rc.local verwenden, Ihr eigenes Init-Skript in / etc / init oder /etc/init.d schreiben oder eleganter ein Skript in /etc/network/if-up.d schreiben . Die letzte Option führt das Skript aus, nachdem die Netzwerkschnittstelle aufgerufen wurde.


Wenn Sie es auf /etc/network/if-up.d aufrufen, wird es nicht jedes Mal aufgerufen, wenn die Schnittstelle herunter- und wieder hochgefahren wird?
TNT

9

Eine weitere einfache Option ist das Hinzufügen @reboot autossh ... &zu/etc/cron.d/autossh


2
Dies wird aussehen wie:@reboot autossh -f -nNT -R 3269:host-providing:3269 firewalled-host &
NicoX

2
Keine Notwendigkeit, "&" am Ende hinzuzufügen, -f platzieren Sie den Befehl bereits im Hintergrund
Pierre Maoui
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.