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 [email protected] -p 80

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

Dunkeler Zauberer
quelle

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.

Michel
quelle
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

Sorin
quelle
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