NEWS


  • @mcu passiert auch nichts.
    Im Adapter muss ich ja nur Exec erlauben aktivieren oder?


  • @uncleb Ja
    b70e82e7-be91-4927-9ea1-fccf15fe23c3-image.png


  • @mcu hm ja okay.. is alles aktiviert..
    Script liegt im Common Ordner... passt auch?


  • @uncleb
    28d6e2ce-1e46-406e-b4af-f84bd754fdf3-image.png

    javascript.0 (1699) script.js.TESTS.Alexa_Frage: exec: sudo ping -c 1 192.168.178.105
    23:17:19.850	info	javascript.0 (1699) script.js.TESTS.Alexa_Frage: registered 0 subscriptions and 0 schedules
    23:17:20.269	info	javascript.0 (1699) script.js.TESTS.Alexa_Frage: PING 192.168.178.105 (192.168.178.105) 56(84) bytes of data. From 192.168.178.89 icmp_seq=1 Destination Host Unreachable --- 192.168.178.105 ping statistics --- 1 packets transmitted, 0 received, +1 errors, 100% packet loss, time 0ms
    
    

    Versuch es bei Dir mal erst mit einem Ping.


  • @mcu said in Ping über bestimmtes Interface:

    Versuch es bei Dir mal erst mit einem Ping.

    das funktioniert, aber sobald ich mich mit dem Router über SSH verbinden will passiert nichts mehr, in der Console gehts ohne Probleme

    Screenshot - 2021-04-08T234019.394.png


  • @uncleb Vielleicht hat @apollon77 eine Idee? (germanbluefox nur über Adapter github erreichbar?)
    Oder es mal als question einbringen:
    https://github.com/ioBroker/ioBroker.javascript/issues


  • @mcu ich dank dir derweil schon mal für deine Mühe


  • @uncleb sudo davor hast du versucht? -> sudo ssh root....


  • @mcu ja, das bringt auch nix


  • @uncleb

    evtl. hilft euch dieser hinweis weiter
    https://forum.iobroker.net/topic/25798/gelöst-blockly-py-script-per-ssh-auf-pi/2?_=1617918676157
    iobroker/blockly greift als user iobroker zu.
    dieser user muss auf dem anderen rechner auch bekannt sein.

    ob es funktioniert kann auf der kommandozeile getestet werden, wenn man den befehl als user iobroker eingibt
    wenn es dabei fehlermeldungen gibt, dann kann stimmt etwas noch nicht an den berechtigungen auf dem anderen rechner.
    die tests oben mit ssh wurden ja alle nur mit dem user pi gemacht.

    sudo -u iobroker bash
    

  • @oliverio danke für den Hinweis..
    Der "entfernte" Rechner ist ein OpenWRT Router, hier hab ich nicht die Möglichkeit den User iobroker anzulegen

    LEDE/OpenWrt is a single user OS, with the only reason to add users/groups being network user shares that I can think of. There's very little a non-root user can do if using SSH due to it being a single user mode OS.
    

    Schade, wär zu schön gewesen


  • @uncleb Die Frage ist warum Exec im result nichts drin hat, obwohl du es ja in der Console als Ergebnis bekommst.

    sudo -u iobroker ssh root@172.17.10.1 -t "ping....
    

    ist das ne Möglichkeit?

    Setz mal -t 1, also nur ein Ping als Ergebnis.


  • @mcu sagte in Ping über bestimmtes Interface:

    @uncleb Die Frage ist warum Exec im result nichts drin hat, obwohl du es ja in der Console als Ergebnis bekommst.

    sudo -u iobroker ssh root@172.17.10.1 -t "ping....
    

    ist das ne Möglichkeit?

    Setz mal -t 1, also nur ein Ping als Ergebnis.

    da wird in der regel eine passwortabfrage kommen und wenn nein dann gibts schläge auf die finger 🙂
    die kann blockly nicht eintippen.
    für solche fälle muss man die authentifizierung über public-key machen

    https://wiki.ubuntuusers.de/SSH/#Authentifizierung-ueber-Public-Keys

    auf der aktuellen maschine (iobroker) wird mit dem user iobroker eine schlüsseldatei erzeugt und an den anderen rechner (openwrt) übermittelt.
    danach benötigt man kein passwort mehr, da die schlüssel durch ssh im hintergrund automatisiert ausgetauscht werden.

    das einzurichten wird im Link erklärt. Alle Schritte führst du vom iobroker rechner aus durch.

    hier auch der link von openwrt zum verfahren.
    https://openwrt.org/docs/guide-user/security/dropbear.public-key.auth


  • @oliverio Danke für deine Antwort.
    Auth über Pubkeys hatte ich eingerichtet, nur halt für den User "Pi"

    Jetzt wollte ich gerade ein Schlüsselpaar für User "iobroker" generieren, dazu auf dem iobroker Rechner den User wechseln
    "su iobroker" doch welches Passwort hat User "iobroker" Standardmäßig?


  • @uncleb said in Ping über bestimmtes Interface:

    @oliverio Danke für deine Antwort.
    Auth über Pubkeys hatte ich eingerichtet, nur halt für den User "Pi"

    Jetzt wollte ich gerade ein Schlüsselpaar für User "iobroker" generieren, dazu auf dem iobroker Rechner den User wechseln
    "su iobroker" doch welches Passwort hat User "iobroker" Standardmäßig?

    hatte ich oben schon mal geschrieben.
    damit öffnest du eine neue shell (neue Konsolenebene mit user iobroker, auf dem pi und vielen anderen debian-artigen wird standardmäßig bash verwendet)
    am prompt sollte dann iobroker@ stehen.
    am ende kannst du die weieder mit exit verlassen und dann hast du das prompt mit deinem standard user

    sudo -u iobroker bash
    

  • @oliverio
    Alsooo ich hab jetzt mit dem User "iobroker" ein neues Schlüsselpaar erzeugt.
    Den Pubkey hab ich in die authorized_keys von OpenWRT hinterlegt..
    Aber jetzt muss doch auf OpenWRT auch ein User "iobroker" erstellt werden?
    Wie soll ich sonst mit iobroker@172.17.10.1 connecten wenns den User nicht gibt?


  • @uncleb said in Ping über bestimmtes Interface:

    @oliverio
    Alsooo ich hab jetzt mit dem User "iobroker" ein neues Schlüsselpaar erzeugt.
    Den Pubkey hab ich in die authorized_keys von OpenWRT hinterlegt..
    Aber jetzt muss doch auf OpenWRT auch ein User "iobroker" erstellt werden?
    Wie soll ich sonst mit iobroker@172.17.10.1 connecten wenns den User nicht gibt?

    @Thomas-Braun Wenn du magst, kannst du dies in den Linux Werkzeugkasten mit aufnehmen.

    @UncleB
    du brauchst keinen extra user einrichten.
    du generierst ja die keys unter iobroker und kopierst den key unter einem bestimmten user nach openwrt. in der Regel nimmst du auf openwrt root.
    wenn du zusätzlich noch sicher gehen willst, kannst du natürlich auch auf openwrt mit den üblichen linux befehlen einen zusätzlichen user anlegen. ist aber eigentlich nicht notwendig, da die authentifizierung über key sicher ist, sofern niemand sonst auf openwrt zugreifen kann oder an den private key des anderen rechners kommt.

    da ich es soeben selbst probiert habe ist mir aufgefallen, das es beim kopieren eine kleine Abweichung gibt, da auf openwrt dropbear als ssh server verwendet wird.
    daher musst du deinen key an eine andere stelle in openwrt kopieren.
    folgende Reihenfolge hat funktioniert

    Anleitung zur Einrichtung des passwortlosen Zugriffs von einem Rechner auf einen anderen Rechner.
    Optional können über den ssh-Befehl auch auf dem Remote-Rechner entsprechende Befehle ausgeführt werden.
    1.)
    Anmelden als iobroker auf dem iobroker Rechner und starten einer eigenen Shell.
    Dieser Befehl kann auch sonst zum Test von Shell-befehlen aus blockly oder javascript verwendet werden.

    sudo -u iobroker bash
    

    2.)
    falls noch nicht passiert.
    anlegen eines Schlüsselpärchens (public und private key)

    ssh-keygen
    

    3.) Kopieren des Schlüssels auf den anderen Rechner auf den zugegriffen werden soll
    3a.) wenn auf dem externen Server dropbear installiert ist wie bspw. bei openwrt

    evtl. nachzubearbeiten ist
    root = der Benutzer auf dem entfernten Rechner der für das Login verwendet werden soll
    IP-Adresse=eigentlich logisch, die Adresse des entfernten Rechners

    cat ~/.ssh/id_rsa.pub | ssh root@192.168.1.1 "cat >> /etc/dropbear/authorized_keys"
    

    3b.) wenn auf dem externen Server der Standard SSH Server installiert ist wie bspw. openssh.
    falls nicht bekannt, dann einfach probieren

    evtl. nachzubearbeiten ist
    root = der Benutzer auf dem entfernten Rechner der für das Login verwendet werden soll
    IP-Adresse=eigentlich logisch, die Adresse des entfernten Rechners

    ssh-copy-id root@192.168.1.1
    

    4.) Test des Zugangs
    Nach absenden des Befehls erscheint der eingabeprompt des anderen Rechners mit dem gewählten Benutzer

    evtl. nachzubearbeiten ist
    root = der Benutzer auf dem entfernten Rechner der für das Login verwendet werden soll
    IP-Adresse=eigentlich logisch, die Adresse des entfernten Rechners

    ssh root@192.168.1.1
    

  • @oliverio
    Vielen Dank Oliver für die sehr sehr ausführliche Anleitung,

    ssh-copy-id
    

    Als User "iobroker" war der "Knackpunkt" jetzt läuft das ganze
    Perfekt

    javascript.0 (583) script.js.common.lte_test: PING 8.8.8.8 (8.8.8.8): 56 data bytes 64 bytes from 8.8.8.8: seq=0 ttl=111 time=42.953 ms 64 bytes from 8.8.8.8: seq=1 ttl=111 time=42.639 ms 64 bytes from 8.8.8.8: seq=2 ttl=111 time=42.312 ms --- 8.8.8.8 ping statistics --- 3 packets transmitted, 3 packets received, 0% packet loss round-trip min/avg/max = 42.312/42.634/42.953 ms
    

    Zum auswerten, oben hast du ja n Code gepostet, am liebsten wäre mir blockly, damit kann ich wenigstens bisschen was anfangen.
    In der Form
    falls 0% packet loss setzte Datenpunkt auf true
    Sonst setze Datenpunkt auf false

    Hast da auch noch n Ansatz?


  • @uncleb sagte in Ping über bestimmtes Interface:

    @oliverio
    Vielen Dank Oliver für die sehr sehr ausführliche Anleitung,

    ssh-copy-id
    

    Als User "iobroker" war der "Knackpunkt" jetzt läuft das ganze
    Perfekt

    javascript.0 (583) script.js.common.lte_test: PING 8.8.8.8 (8.8.8.8): 56 data bytes 64 bytes from 8.8.8.8: seq=0 ttl=111 time=42.953 ms 64 bytes from 8.8.8.8: seq=1 ttl=111 time=42.639 ms 64 bytes from 8.8.8.8: seq=2 ttl=111 time=42.312 ms --- 8.8.8.8 ping statistics --- 3 packets transmitted, 3 packets received, 0% packet loss round-trip min/avg/max = 42.312/42.634/42.953 ms
    

    Zum auswerten, oben hast du ja n Code gepostet, am liebsten wäre mir blockly, damit kann ich wenigstens bisschen was anfangen.
    In der Form
    falls 0% packet loss setzte Datenpunkt auf true
    Sonst setze Datenpunkt auf false

    Hast da auch noch n Ansatz?

    Mit blockly kenn ich mich nicht aus


  • @oliverio
    Also JavaScript? 🙂
    Oder @mcu hat ne Blockly Idee? 🙂

Suggested Topics

729
Online

38.4k
Users

43.9k
Topics

613.2k
Posts