Liebe Forengemeine,
kurz vorab, möchte ich mein Projekt vorstellen, damit jeder weiß worum es sich handelt. Ich betreibe seit 18.12.2023 erfolgreich eine Wetterstation im Garten. Im Garten habe ich leider kein festes Internet bzw. Internetanschluss wie man es von zu hause aus kennt. Daher habe ich mir einen ZTE 4G / LTE USB Modem mit einer Datenflatrate (Unlimeted) gekauft. Funktioniert auch wunderbar. Nun weiß man, das es bei den normalen Tarifen leider keine NAT Freigaben gibt. Daher muss ich auf Reverse Tunnel zurückgreifen, was an sich kein Problem ist und auch wunderbar funktioniert.
Ich habe im Garten einen Schaltkasten (60x40x40cm) mit sehr guter Kühlung zu stehen. In diesem Schaltkasten sind 3x Raspberry Pi 4 (4GB) verbaut. Jeder Raspberry Pi 4 hat eine gewisse Aufgabe, die auch promt erledigt werden und wunderbar funktionieren.
Folgende Aufgaben werden erledigt:
- Raspberry Pi 4 (Raspbian OS 32 Bit Desktop) #1:
- Dort läuft das Programm WXtoImg im 32Bit Modus, das Wettersatelliten mithilfe eines APT06 (Wraase Elec.) empfängt, verarbeitet und auf einem anderen Server speichert.
- Als Desktop- Remotesoftware kommt RealVNC und als Backup TeamViewer zum Einsatz
- Raspberry Pi 4 (Raspbian OS 32Bit ohne Desktop) #2:
- Dort läuft das Programm OpenwebRX im 32Bit Modus, der mihilfe eines RTL SDR Sticks die Wetterfaxe aus Hamburg über Kurzwelle empfängt, verarbeitet und auf einen anderen Server speichert.
- Als Remotezugriff starte ich diesen über den Raspberry Pi #1 mithilfe der Konsole und starte dann den Reverse Tunnel mit:
sshpass -p '*********' ssh pi@openwebrx.local "sshpass -p '*********' ssh -fNC -R 2202:openwebrx.local:22 USER@DOMAIN.DE && sshpass -p '*********' ssh -fNC -R 8002:openwebrx.local:8073 USER@DOMAIN.DE"
Das Funktioniert auch wunderbar, bis die Verbindung durch das Modem automatisch irgendwann mal kurzzeitig getrennt wird. Dann muss ich den Befehl erneut starten. Wenn ich noch in der "Hangtime" bin, sagt der Gateway Server das der Port bereits in Benutzung ist. Einige Zeit später kann ich den Befehl erneut starten und bekomme wieder meinen Tunnel.
- Raspberry Pi 4 (Raspbian OS 32Bit ohne Desktop) #3:
- Dort läuft ebenfalls das Programm OpenWebRX im 32Bit Modus, der mithilfe eines RTL SDR Sticks die Meteor Satelliten empfängt, verarbeitet und auf einen anderen Server speichert.
- Wie oben beim Raspberry Pi #2 starte ich einen Reverse Tunnel mit den oben genannten Befehl.
Nun zu meiner Frage:
Ich würde gerne beim starten des Raspberry Pi 4 (alle) das diese automatisch prüfen ob der Port bzw. Verbindung zum Tunnel bereits bestehen und falls nicht diese automatisch aufbauen. Ich habe es bereits mit "autossh" versucht, jedoch verlangt er trotz "ssh-keygen" / Signatur immer noch das Passwort vom Remoteserver.
Kann mir einer sagen, wie ich die Reverse Tunnel für SSH und für Web Ports automatisch beim starten des Raspberry Pi zum Remoteserver herstellen kann, ohne manuel einzugreifen? Ich sehe da langsam nicht mehr durch.
Vielen Dank!