Posts by dll-live

    Hallo zusammen.


    Gestern hat mein Laptop das Zeitliche gesegnt.

    Der pi, welcher im produktiven Einsatz ist hat als Zugriff nur ssh pub-key Verfahren.


    Wie kann ich mich da wieder (über ssh) anmelden, ohne den pi komplett ausbauen zu müssen (damit ich mich lokal anmelden kann und ein neues Schlüssel paar generiere)?


    Reicht es wenn ich auf den neuen Laptop den Pub-Key kopiere? Habe im Internet nichts gefunden (ist nicht auszuschließen, dass ich nicht suchen kann ;), oder blind bin :saint:)


    Der pub-key vom Pi wäre noch in einem Backup auf dem NAS vorhanden.


    Danke für eure Unterstützung :danke_ATDE:


    Gruss Dani

    Hallo zusammen


    Besten Fank für die Antworten.

    Das mit der Datei / den Scrioäpt geht - keine Frage nur ist das dann nicht mehr "synchron" (Ziel der Aktion ist quasi bei Erkennung sofort zu stoppen! Mit der neuen Lösung ist das dann nicht mehr der Fall, auf dem pi muss ein programm jede Minute prüfen, ob was zu machen ist. Schöner wäre aus meiner Sicht eben anders.

    Wie steht ihr dazu (dass auf dem PI jede Minute geprüft wird?

    Gruss

    Hallo zusammen


    Auf dem Pi läuft ein Webserver der übers Netzwerk (später internet) aufgerufen werden kann.

    Je nach Empfang (inkl. entsprechender Validierung) soll auf einem entfernen Server per ssh eine Aktion ausgeführt werden. (aktuell sollte das andere System sauber heruntergefahren werden).


    Wenn ich lokal auf dem Pi bin, kann ich mich mit ssh verbinden, sprich gleich noch das Kommando zum runtergefahren mit geben und gut ist.

    Das möchte nun auch mit www-data (also über den Web-Server) (über ssh) können.


    Freundliche Grüsse

    Daniel

    Hallo Zusammen


    Folgende Ausgangslage:

    Raspberry Pi 3, aktuelles OS (Buster)

    Zusatzsoftware: Apache


    Problemstellung

    Wie schaff ich es dass unter dem User www-data (der kein Passowrt und Home-Verzeichnis hat) automatisch eine ssh Verbindung (zu einem anderen Server) aufzubauen.

    Gerne mit ssh-Keys.


    Da der User kein Passwort hat, kann ich mich grundsätzlich nicht mit dem User anmelden. Dem User ein Passwort zu setzen ist ungünstig.

    Das nächste Problem ist, da kein Home Verzeichnis vorhanden ist, können die erzeugten ssh Schlüssel nicht abgelegt werden.


    Wer hat eine Idee / einen Lösungsansatz?:helpnew:


    Freundliche Grüsse

    Daniel

    Der öffentliche Schlüssel hätte nicht unkenntlich gemacht werden müssen, dann hätte man schnell überprüfen können ob das mit der Ausgabe von wg üVerein stimmt.

    Gehe jetzt einmal davon aus, dass das passt.

    Der Endpoint ist nicht ersichtlich ist das eine Domain oder eine IP? Falls es eine IP ist oder die Domain nicht sauber deinen IP aktualisiert könnte da der Fehler liegen.


    Mein Vorschlag damit du den Fehler besser eingrenzen kannst ist wie folgt:


    Im internen Netz deine öffentliche Ip ausfindig machen und die einmal beim Endpoint eintragen und testen (natürlich über eine mobile Verbindung nicht intern) ob es dann geht.

    Falls ja, dann mit der Domain probieren.


    Gruss Daniel

    Hallo

    Code
    # Zum Schluss rpi-update
    /usr/bin/sudo rpi-update

    Sind diese Zeilen in deinem Script absichtlich enthalten?


    Den ein rpi-update ist normalerweise nicht nötig.


    Gruss Daniel

    Hallo Campus.


    Die Fehlermeldung ist sprechend und sagt mehr oder weniger wo der Fehler ist (Der Befehl done ist am falschen Ort).

    Was für ein Script hast du ausgeführt? Das Script aus Beitrag #13 funktioniert bei mir ohne Probleme. Falls dein Script nicht zu 100% identisch ist, gibt es aus meiner Sicht 2 Lösungs-Ansätze.

    1) du machst das Script in einem ersten Schritt zu 100% identisch. änderst dann Stück für Stück dein Code prüfst jeweils ob nach der Änderung das Script noch funktioniert und findest so evtl selber den Fehler (mithilfe Google evtl auch in englisch), oder kannst hier mitteilen wo es aktuell genau hakt.

    2) du postest hier dein aktuelles Script damit man nochmals drüber schauen kann.


    Ich persönlich empfehle Variante 1, so bildest dich selber weiter und hast zusätzlich ein Erfolgserlebnis, wenn's klappt.


    Gruss

    Dani

    Salü Campus und llutz


    Anbei eine funktionierende (getestet) Version.


    Die Anmerkung von llutz bezüglichder Umgebungsvariable MYSQL_PWD ist bewusst nicht implementiert.


    Gruss Dani

    Salü Campus.


    Bitte entschuldige ich habe mich ungeschickt ausgedrückt.


    Die nachfolgenden Erklärungen beziehen sich auf deinen Beitrag #7 (also das Script - Zeilennummerierung)

    Das -d= in Zeile 4 steht für den Parameter zum Befehl cut und ist für das Trennzeichen (englisch: Delimiter)

    in Zeile 4 (tmp=$....) müssen die " erhalten bleiben.

    Meine Aussage bezüglich dem entfernen der " war auf die nachfolgenden Zeilen (5 und 6) gedacht,was du ja auch gemacht hast.

    Die Zeitschleife für 30 Sekunden kann man so stehen lassen.


    Die Zeit kann mit dem Befehl date ermittelt werden.

    Nachstehend das Script mit dem Datum und der Zeit ergänzt.


    Bash
    #!/bin/bash
    while true
    do
    DateandTime=$(date '+%d.%m.%Y %H:%M')
    tmp=$(vcgencmd measure_temp | cut -f2 -d"=" | cut -f1 -d"'"); 
    mysql -uroot -p123456  Raspi << EOF
    insert into tbl_CPUtemp (temperature, DBDateandTime) values ($tmp, $DateandTime);
    sleep 30
    done


    Freundliche Grüsse

    Dani

    Salü Campus


    anbei ein Script in bash!


    Voraussetzung: installierter DB-Server

    Bash
    #!/bin/bash
    tmp=$(vcgencmd measure_temp | cut -f2 -d"=" | cut -f1 -d"'"); 
    mysql -u"Benutzername" -p"Passwort" "Datenbank" << EOF
    insert into "Tabelle" ("Feld") values ($tmp);

    Die Werte in " sind durch deine eigenen zu ersetzen, und die " braucht es zum ausführen nicht (löschen).


    Die Zeitschlaufe habe ich jetzt nicht gemacht, das ist problemlos möglich.


    Gruss

    Dani

    Funktionieren tut viel. Die Frage ist bloß, was es macht! Trügerische Sicherheit?

    Persönlich finde ich die ganze Geschichte mit "erreichbar aus dem Internet" brandgefährlich und sofern / solange man keine ausreichende Kenntnisse hat sollte man dies lassen. Gerade für Anfänger ist das zwar verlockend aber auch eine riesen Falle.


    Ist mit dem Auto vergleichbar. "Fahren" kann man schnell Mal, aber deswegen auch gleich das Auto tunnen, damit es "besser" ist?


    Gruss Dll


    Der edit war für das Autobeispiel