Ankündigung

Einklappen
Keine Ankündigung bisher.

Openhab2, Docker und SSH-Abfragen

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

    [Codebeispiel] Openhab2, Docker und SSH-Abfragen

    Hallo zusammen,

    habe gerade angefangen Openhab2 auf meinen Docker-Server zu verschieben. Dabei habe ich gemerkt das meine Exec-Scripte (Zugriff auf andere Systeme über SSH) nicht mehr ausgeführt werden. Zuerst dachte ich es wäre wegen dem Server wechsel, jedoch habe ich Probleme eine Verbindung mit einer id_rsa.pub Datei aufzubauen.

    Da ich nicht lust habe, meine ganzen Scripte umzuschreiben hätte hierzu jemand vllt. eine Idee?

    Ich vermute mal das diese Datei und der Prozess direkt im Dockerfile verwendet werden muss, damit die Verbindung aufgebaut werden kann. Leider habe ich erst vor kurzen mit Docker angefangen und tue mich noch etwas schwer.

    Hier mal ein Beispiel aus einem Script.

    Code:
    # Wert des Sensors auslesen
    INPUT=$(/usr/bin/ssh -i /scripts/.ssh/id_rsa root@192.168.22.$1 "/usr/local/bin/gpio read $2")
    
    # Wert ausgeben
    echo $INPUT
    Vielen Dank

    #2
    Hast du den Port im Container freigegeben? ohne das Dockerfile kann man da nur die Glaskugel auspacken.

    Kommentar


      #3
      Führe den Befehl mal über die Container console (docker exec...) aus und schau ob dort der Befehl klappt. Ggf. musst du erst den Fingerprint der Gegenstelle akzeptieren.

      Kommentar


        #4
        hier ist die letzte Version der Dockerfile Datei.

        Code:
        FROM openhab/openhab:2.2.0-amd64-debian
        MAINTAINER Dmytro Studynskyi <dimitrystd@gmail.com>
        
        RUN apt-get -y update \
          && apt-get -y install \
          # orvibo script
          python3 \
          sshpass \
          procps \
          # network binding
          arping iputils-ping \
          # pushbullet script
          curl \
          && apt-get autoclean \
          && apt-get --purge -y autoremove \
          && rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/*
        
        COPY /scripts/*.sh /scripts/
        
        RUN chmod +x /scripts/*.sh
        
        
        RUN chmod u+s /usr/sbin/arping
        Mit Docker exec kommt man doch nur auf die Openhab-Console. Kann man dort auch Shellscripte ausführen?

        Kommentar


          #5
          Bei mir klappt das mit
          Code:
          docker exec -it openhab bash
          Im Beispiel im Container openhab, muss ggf. angepasst werden

          Damit öffnet man eine interaktive shell in der dann beliebige Befehle ausgeführt werden können.

          Kommentar


            #6
            Vielleicht übersehe ich es ja gerade, kann es sein dass du den key gar nicht in den Container kopierst? Oder mountest Du ihn als Volume zum Start? "irgendwer" schreibt ganz richtig dass du das am einfachsten mit einem exec auf die bash kontrollierst.

            Kommentar


              #7
              ja hab den Ordner gemountet.

              Vielen Dank, klappt jetzt.

              Kommentar

              Lädt...
              X