SSH-Verbindung beim Start umkehren?

720
Alpha

Ich habe ein Himbeer-Pi, auf dem Kali Linux läuft. Was ich möchte, ist, sobald ich hochfahre, eine Verbindung zu meinem Rechner zu Hause über eine umgekehrte SSH-Verbindung herzustellen, sodass ich sie von überall aus steuern kann.

Ich habe ein Skript erstellt, das ich connect.sh genannt habe, mit folgender Zeile:

sshpass -p '******' ssh -R 12345:localhost:***** user@**.***.**.** -p ***** -N & 

Und ich fügte hinzu

@reboot /root/connect.sh 

Zu crontab (ich habe es mit crontab -e editiert). Das Problem ist, der Befehl funktioniert, wenn ich das Skript manuell ausführe, aber wenn ich den Raspberry Pi neu starte und versuche, eine Verbindung mit meinem anderen Computer herzustellen, funktioniert es nicht. Und wenn ich das Skript manuell ausführe, dann.

Ich gehe also davon aus, dass es beim Ausführen beim Start ein Problem gibt. Und ich weiß, dass das Skript ausgeführt wird, weil ich echo test > testam Anfang von connect.sh hinzugefügt habe, und wenn ich den Pi neu starte, ist die Datei da. Es gibt also ein Problem mit dem SSH-Befehl.

1
Dies ist nur eine Vermutung, aber möglicherweise wird Ihr "connect" -Skript ausgeführt, bevor das Netzwerk eingerichtet ist, und schlägt deshalb fehl. Fügen Sie dem Skript einen "Schlaf" hinzu. Scott vor 6 Jahren 0
@ Scott Weeeeell, ich bin nur sehr dumm, xD. Ich habe schon einmal versucht, einen Schlafbefehl hinzuzufügen, und es hat nicht funktioniert, aber ich glaube, ich habe es nicht genug schlafen lassen, denn mit "sleep 60" funktioniert es. Vielen Dank! Wie stelle ich die Frage als "beantwortet" ein, wenn niemand eine Antwort gepostet hat? Alpha vor 6 Jahren 0
OK, ich habe meinen Vorschlag als offizielle Antwort veröffentlicht. Du weißt was jetzt zu tun ist, richtig? Klicken Sie auf das Häkchen links neben der Antwort. (Da Sie ein neuer Benutzer sind, müssen Sie möglicherweise einige Stunden warten, bevor Sie eine Antwort akzeptieren können.) Scott vor 6 Jahren 0
@ Scott Yeah, ich weiß, wie es mit offiziellen Antworten geht, danke nochmal ^^ Alpha vor 6 Jahren 0

1 Antwort auf die Frage

0
Scott

Startskripts laufen manchmal sehr früh während des Startvorgangs - manchmal bevor das Netzwerk eingerichtet ist. Wenn diese Startskripts zu früh versuchen, auf das Netzwerk zuzugreifen, können sie fehlschlagen. Durch Hinzufügen eines (ausreichend langen) sleepBeginns Ihres Skripts kann das Problem möglicherweise gelöst werden.