Problem mit Remote-SSH-Tunnel

Alle weiteren Dienste, die nicht in die drei oberen Foren gehören.
Antworten
hobbyadmin
Beiträge: 127
Registriert: 26.12.2020 18:13:43

Problem mit Remote-SSH-Tunnel

Beitrag von hobbyadmin » 25.01.2022 13:51:12

Hallo zusammen!
Ich habe ein Problem mit dem Aufbau eines Remote-SSH-Tunnels.
Wenn ich den SSH-Tunnel manuell starte, dann funktioniert es einwandfrei.
Wenn ich den Befehl in crontab eintrage, dann funktioniert es leider nicht. Ich verstehe aber nicht warum.
Hier der crobtab-Eintrag:

Code: Alles auswählen

@reboot autossh -M 0 -f -o "ConnectTimeout 10" -o "ServerAliveInterval 60" -o "ServerAliveCountMax 3" -p12345 -N -R 54321:localhost:22 serveruser@backup.server.ip
Der manuelle Befehl funktioniert:

Code: Alles auswählen

autossh -M 0 -f -o "ConnectTimeout 10" -o "ServerAliveInterval 60" -o "ServerAliveCountMax 3" -p12345 -N -R 54321:localhost:22 serveruser@backup.server.ip
Selbst wenn ich den Tunnel manuell starte, dann kann ich am nächsten Tag nicht mehr darauf zugreifen.
Was mache ich falsch?

uname
Beiträge: 12043
Registriert: 03.06.2008 09:33:02

Re: Problem mit Remote-SSH-Tunnel

Beitrag von uname » 25.01.2022 14:10:16

Eine Lösung habe ich nicht. Aber vielleicht liegt es an irgendwelche Umgebungsvariablen.

Gib im ersten Fall aus: Und über Cron leite es in eine Datei um

Code: Alles auswählen

env > datei.txt
Schau wo die Unterschiede liegen.
Vielleicht ist z. B. autossh nicht im Pfad, anderer Benutzer, ...

Braucht man autossh?
Vor Jahren habe ich mal Remote-SSH-Tunnel direkt mit SSH verwendet.

hobbyadmin
Beiträge: 127
Registriert: 26.12.2020 18:13:43

Re: Problem mit Remote-SSH-Tunnel

Beitrag von hobbyadmin » 25.01.2022 15:31:44

OK, danke!
Das werde ich mal so machen.

autossh habe ich gewählt, weil autossh bei Verbindungsabbruch angeblich eine neue SSH-Verbindung aufbauen soll.
Tja, nur bei mir funktioniert das noch nicht : (

Benutzeravatar
MSfree
Beiträge: 10685
Registriert: 25.09.2007 19:59:30

Re: Problem mit Remote-SSH-Tunnel

Beitrag von MSfree » 25.01.2022 15:35:44

hobbyadmin hat geschrieben: ↑ zum Beitrag ↑
25.01.2022 15:31:44
autossh habe ich gewählt, weil autossh bei Verbindungsabbruch angeblich eine neue SSH-Verbindung aufbauen soll.
Das kann man mit systemd auch lösen, indem man eine Unit schreibt, die SSH direkt startet und auch neu startet, wenn sich der SSH-Tunnel in Wohlgefallen auflöst (z.B. wegen der 24h Zwangstrennung).

Benutzeravatar
heisenberg
Beiträge: 3473
Registriert: 04.06.2015 01:17:27
Lizenz eigener Beiträge: MIT Lizenz

Re: Problem mit Remote-SSH-Tunnel

Beitrag von heisenberg » 25.01.2022 15:51:12

hobbyadmin hat geschrieben: ↑ zum Beitrag ↑
25.01.2022 15:31:44
autossh habe ich gewählt, weil autossh bei Verbindungsabbruch angeblich eine neue SSH-Verbindung aufbauen soll.
Und genau deswegen ist es gut autossh zu verwenden. (Systemd-Units gehen natürlich auch)

Den Befehl würde ich auch in eine separate Datei und nicht direkt in die crontab reinsetzen. Da kann man evtl. noch weitere ergänzende Befehle dazu schreiben(Kommt vielleicht noch) und den zumindest mal etwas schöner formatieren, so dass man auf einen Blick sieht, was Sache ist(siehe unten).

Erste Massnahme für Fehlersuche wäre natürlich die Ausgabe des Befehls zu checken. Meist schreiben Programme Meldungen, wenn Fehler auftreten. Also ...

Das neue Script wäre dann...

Code: Alles auswählen

#!/bin/bash

/usr/bin/autossh -M 0 -f 			\
	-o "ConnectTimeout 10" 			\
	-o "ServerAliveInterval 60" 		\
	-o "ServerAliveCountMax 3" 		\
	-p12345 -N -R 54321:localhost:22 	\ 
	serveruser@backup.server.ip 		\
	>/var/log/autossh.log 2>&1
Das Log wird dann bei jedem Scriptaufruf jeweils überschrieben.

(In der crontab darf man NICHT den Befehl in der nächsten Zeile mittels \ fortsetzen)
... unterhält sich hier gelegentlich mangels wunschgemäßer Gesprächspartner mal mit sich selbst.

hobbyadmin
Beiträge: 127
Registriert: 26.12.2020 18:13:43

Re: Problem mit Remote-SSH-Tunnel

Beitrag von hobbyadmin » 26.01.2022 13:01:05

Moin!
Und danke nochmals für Eure Antworten.
Das hat leider immer noch nicht zum Erfolg geführt.
Wenn ich den Tunnel manuell starte funktioniert es. Am nächsten Tag leider nicht mehr.
Ich habe den Befehl in Crontab nochmals umgeschrieben und teste das mal.
Mein neuer Eintrag sieht jetzt so aus:

Code: Alles auswählen

@reboot autossh -p12345 -M 20000 -f -N -R 54321:localhost:22 serveruser@server.ip

Benutzeravatar
heisenberg
Beiträge: 3473
Registriert: 04.06.2015 01:17:27
Lizenz eigener Beiträge: MIT Lizenz

Re: Problem mit Remote-SSH-Tunnel

Beitrag von heisenberg » 26.01.2022 13:15:14

Du hast Dich also entschieden meinen Hinweis zur Fehlersuche mal die Ausgabe von autossh zu loggen zu ignorieren?
... unterhält sich hier gelegentlich mangels wunschgemäßer Gesprächspartner mal mit sich selbst.

uname
Beiträge: 12043
Registriert: 03.06.2008 09:33:02

Re: Problem mit Remote-SSH-Tunnel

Beitrag von uname » 26.01.2022 14:04:21

Die Frage ist auch noch, ob man wirklich einen 7/24 Remote-SSH-Tunnel benötigt.

Falls du einen Webserver hast, könntest du dort z. B. eine leere Datei als eine Art Semaphor verwenden:

Code: Alles auswählen

https://www.server.tld/tunnel.txt
Cron schaut nun alle 5 Minuten (z. B. wget), ob die 'Datei existiert.
Wenn ja wird der Tunnel genau einmal aufgebaut. Wenn nicht, dann nicht.

Sicherheitshalber kannst du auch noch einen weiteren Cron-Prozess schreiben.
Wenn die Datei nicht mehr da ist, dann wird der Tunnel gekillt.

Der Webserver muss weder auf Client noch Server liegen.

hobbyadmin
Beiträge: 127
Registriert: 26.12.2020 18:13:43

Re: Problem mit Remote-SSH-Tunnel

Beitrag von hobbyadmin » 26.01.2022 14:27:25

heisenberg hat geschrieben: ↑ zum Beitrag ↑
26.01.2022 13:15:14
Du hast Dich also entschieden meinen Hinweis zur Fehlersuche mal die Ausgabe von autossh zu loggen zu ignorieren?
Hallo!
Nee, habe ich natürlich auch gemacht : )
Es gibt nur leider keine Log-Datei, zumindest finde ich sie nicht....
Ich werde das aber auch nochmal probieren.
Bis morgen lasse ich den anderen Befehl laufen und dann nochmal Deinen Vorschlag.
Ich habe wahrscheinlich irgendwo einen Tippfehler drin. Heute Abend schaue ich mir das nochmal genau an.

eggy
Beiträge: 3331
Registriert: 10.05.2008 11:23:50

Re: Problem mit Remote-SSH-Tunnel

Beitrag von eggy » 26.01.2022 14:46:13

hobbyadmin hat geschrieben: ↑ zum Beitrag ↑
26.01.2022 14:27:25
Es gibt nur leider keine Log-Datei, zumindest finde ich sie nicht....
steht in der manpage

Benutzeravatar
heisenberg
Beiträge: 3473
Registriert: 04.06.2015 01:17:27
Lizenz eigener Beiträge: MIT Lizenz

Re: Problem mit Remote-SSH-Tunnel

Beitrag von heisenberg » 26.01.2022 14:58:21

hobbyadmin hat geschrieben: ↑ zum Beitrag ↑
26.01.2022 14:27:25
Nee, habe ich natürlich auch gemacht : )

Es gibt nur leider keine Log-Datei, zumindest finde ich sie nicht....
Die Log-Datei ist so wie angegeben: /var/log/autossh.log. Wenn der Befehl ausgeführt wird, dann muss die existieren. Leer könnte die Datei sein. Wenn keine Datei existiert, dann hast Du die Ausgabeumlenkung alternativ zur Nicht-Ausführung nicht korrekt gesetzt.

Was eggy meint ist, dass autossh möglicherweise woanders hin protokolliert. Das steht tatsächlich in der autossh manpage. Es ist hilfreich diese zu lesen.
... unterhält sich hier gelegentlich mangels wunschgemäßer Gesprächspartner mal mit sich selbst.

Benutzeravatar
MSfree
Beiträge: 10685
Registriert: 25.09.2007 19:59:30

Re: Problem mit Remote-SSH-Tunnel

Beitrag von MSfree » 26.01.2022 15:19:58

heisenberg hat geschrieben: ↑ zum Beitrag ↑
26.01.2022 14:58:21
Die Log-Datei ist so wie angegeben: /var/log/autossh.log.
In dem Fall darf man autossh aber nicht als normaler Benutzer starten, denn Benutzer haben in /var/log keine Schreibberechtigung, dürfen Logs dort also auch nicht anlegen.

hobbyadmin
Beiträge: 127
Registriert: 26.12.2020 18:13:43

Re: Problem mit Remote-SSH-Tunnel

Beitrag von hobbyadmin » 26.01.2022 16:41:47

Aha, das habe ich noch gar nicht bedacht.
Ich lasse autossh als normaler Nutzer starten (nicht als root).
Deshalb gibt es wahrscheinlich auch keine Log-Datei in /var/log. Da fehlt einfach die Berechtigung.

Jetzt meine Frage:
Muss ich den Eintrag für den autossh-Tunnel auch in die Crontab von root einragen damit es funktioniert???
Bisher habe ich den Befehl nur in die Crontab des Benutzers eingetragen. Und dieser Benutzer hat keine root-Rechte.

Wenn ich allerdings den Befehl als normaler Nutzer manuell ausführe funktioniert es ja.

Ich bin mal gespannt. Morgen geht es weiter.

Benutzeravatar
heisenberg
Beiträge: 3473
Registriert: 04.06.2015 01:17:27
Lizenz eigener Beiträge: MIT Lizenz

Re: Problem mit Remote-SSH-Tunnel

Beitrag von heisenberg » 26.01.2022 17:17:39

So wie Du es geschrieben hast kannst Du das als normaler user ausführen. Bzgl. des loggings dann einfach in eine andere Datei umleiten z. B. >/home/deinuser/autossh.log 2>&1.

Und dann natürlich auch noch die Infos der Manpage bzgl. des Loggings beachten.
... unterhält sich hier gelegentlich mangels wunschgemäßer Gesprächspartner mal mit sich selbst.

andre_xz
Beiträge: 2
Registriert: 23.05.2007 18:36:23

Re: Problem mit Remote-SSH-Tunnel

Beitrag von andre_xz » 18.12.2022 10:27:52

Hallo,

ich habe mehrere Verbindungen über AutoSSH per crontab laufen.
Umso verwunderter war ich, dass es bei der erneuten Einrichtung zu einem Server plötzlich nicht mehr funktioniert hat.
Lange Rede, kein Sinn...
Hierzu gibt es womöglich eine einfach Lösung:
in der /etc/ssh/sshd_config muss der Wert ClientAliveInterval auf einen niedrigen Wert gesetzt werden.
Bei mir war dieser zu hoch.
ClientAliveInterval 60 ist meine aktuelle Einstellung und es funktioniert wieder.
Geholfen hat mir hier folgende Quelle:
https://superuser.com/questions/742063/ ... nnects-abr

VG
André

Antworten