NEWS
[gelöst] exec-Baustein will nicht ausführen
-
wahrscheinlich hast du auf der shell den befehl mit deinem user ausprobiert.
du musst es aber mit dem user iobroker probieren:so kann man sich als iobroker anmelden:
sudo -u iobroker bash
dann siehst du die fehler die mit dem user entstehen
-
Trag da mal
ssh thomas@pihole6 /bin/bash << EOF sudo systemctl restart pihole-FTL.service EOF
ein.
-
@oliverio sagte in exec-Baustein will nicht ausführen:
so kann man sich als iobroker anmelden:
Der host
pihole6
kennt aber doch keinen useriobroker
, dort gibt es nur den userthomas
, oder begehe ich da einen Denkfehler? -
@meister-mopper sagte in exec-Baustein will nicht ausführen:
Der host pihole6 kennt aber doch keinen user iobroker, dort gibt es nur den user thomas, oder begehe ich da einen Denkfehler?
Das musst du selber wissen, welche user und welche Dienste da angelegt sind.
Alle user stehen z. B. in der/etc/passwd
drin. -
@thomas-braun sagte in exec-Baustein will nicht ausführen:
Trag da mal
ssh thomas@pihole6 /bin/bash << EOF sudo systemctl restart pihole-FTL.service EOF
ein.
Funktioniert leider nicht. Habe es gerade gecheckt:
thomas@pihole6:~$ systemctl status pihole-FTL.service ● pihole-FTL.service - Pi-hole FTL Loaded: loaded (/etc/systemd/system/pihole-FTL.service; enabled; preset: enabled) Active: active (running) since Tue 2025-07-22 16:57:46 CEST; 31min ago Process: 9946 ExecStartPre=/opt/pihole/pihole-FTL-prestart.sh (code=exited, status=0/SUCCESS) Main PID: 9960 (pihole-FTL) Tasks: 16 (limit: 38112) Memory: 33.2M CPU: 35.554s CGroup: /system.slice/pihole-FTL.service └─9960 /usr/bin/pihole-FTL -f Jul 22 16:57:46 pihole6 pihole-FTL[9960]: 2025-07-22 16:57:46.762 CEST [9960M] INFO: FTL user: pihole Jul 22 16:57:46 pihole6 pihole-FTL[9960]: 2025-07-22 16:57:46.762 CEST [9960M] INFO: Compiled for linux/amd64 (compiled> Jul 22 16:57:46 pihole6 pihole-FTL[9960]: 2025-07-22 16:57:46.767 CEST [9960M] INFO: Wrote config file: Jul 22 16:57:46 pihole6 pihole-FTL[9960]: 2025-07-22 16:57:46.767 CEST [9960M] INFO: - 155 total entries Jul 22 16:57:46 pihole6 pihole-FTL[9960]: 2025-07-22 16:57:46.767 CEST [9960M] INFO: - 141 entries are default Jul 22 16:57:46 pihole6 pihole-FTL[9960]: 2025-07-22 16:57:46.767 CEST [9960M] INFO: - 14 entries are modified Jul 22 16:57:46 pihole6 pihole-FTL[9960]: 2025-07-22 16:57:46.767 CEST [9960M] INFO: - 0 entries are forced through en> Jul 22 16:57:46 pihole6 pihole-FTL[9960]: 2025-07-22 16:57:46.769 CEST [9960M] INFO: Parsed config file /etc/pihole/pih> Jul 22 16:57:46 pihole6 pihole-FTL[9960]: 2025-07-22 16:57:46.769 CEST [9960M] INFO: PID file does not exist or not rea> Jul 22 16:57:48 pihole6 pihole-FTL[9960]: 2025-07-22 16:57:46.769 CEST [9960M] INFO: No other running FTL process found. lines 1-21/21 (END)
Die Uhrzeit ist vom letzten restart.
-
Erst als Skript anlegen.
#!/bin/bash sudo systemctl restart pihole-FTL.service
Dann dieses Skript in die secure shell kippen.
ssh thomas@pihole6 'bash -s' < /pfad/zum/skript.sh
-
der befehl in blockly-exec wird als user iobroker auf deinem lokalen system ausgeführt.
das gilt für jeden befehl. oft wurden von den leuten schon für ihren user dinge verändert, was für den user iobroker nicht gilt.
bspw wenn user iobroker kein ssh kann/darf, der hauptbenutzer ist in der admingruppe, iobroker evtl nichtNachtrag:
sudo funktioniert erstmal so ja nicht, da du automatisiert kein passwort eingeben kannst. wenn dann musst du auf dem entfernten system dem user thomas die sudoers berechtigung geben und den befehl in die datei /etc/sudoer eintragen, so das er den befehl ohne passwort ausführen darfbitte den artikel sorgfältig lesen
https://wiki.ubuntuusers.de/sudo/Konfiguration/
eine falsche bearbeitung der datei (immer das tool visudo verwenden)
kann zur nichtbenutzbarkeit des systems führen.beispiele kann man auf einem iobroker system hier sehen
/etc/sudoers.d/iobroker -
@oliverio sagte in exec-Baustein will nicht ausführen:
der befehl in blockly-exec wird als user iobroker auf deinem lokalen system ausgeführt.
Stimmt, hatte ich jetzt gar nicht dran gedacht. Möglich, dass der user 'iobroker' kein ssh aufstoßen darf.
-
ich würde bei der fehlersuche stufenweise vorgehen
- lokaler user iobroker darf ssh
- verbindung zum anderen rechner funktioniert
- user darf auf entferntem rechner sudo befehle ausführen
- erst jetzt: entfernter user darf den systemctl befehl
gern auch mal mit anderen befehlen wie bspw echo "abc" probieren um extra fehlerquellen erst einmal auszuschließen
-
@oliverio sagte in exec-Baustein will nicht ausführen:
Nachtrag:
sudo funktioniert erstmal so ja nicht, da du automatisiert kein passwort eingeben kannst. wenn dann musst du auf dem entfernten system dem user thomas die sudoers berechtigung geben und den befehl in die datei /etc/sudoer eintragen, so das er den befehl ohne passwort ausführen darfWenn des (wie ich vermute) um RaspberryOS geht braucht es das so auch nicht. Da kann jeder aus der Gruppe 'sudo' alles ohne Einschränkung ausführen. Nicht die beste Voreinstellung, ist aber da erstmal so.
-
@thomas-braun sagte in exec-Baustein will nicht ausführen:
@oliverio sagte in exec-Baustein will nicht ausführen:
Nachtrag:
sudo funktioniert erstmal so ja nicht, da du automatisiert kein passwort eingeben kannst. wenn dann musst du auf dem entfernten system dem user thomas die sudoers berechtigung geben und den befehl in die datei /etc/sudoer eintragen, so das er den befehl ohne passwort ausführen darfWenn des (wie ich vermute) um RaspberryOS geht braucht es das so auch nicht. Da kann jeder aus der Gruppe 'sudo' alles ohne Einschränkung ausführen. Nicht die beste Voreinstellung, ist aber da erstmal so.
Nein, hier besteht dieses Problem bei virtualisierten Maschinen in Proxmox.
-
@meister-mopper sagte in exec-Baustein will nicht ausführen:
Nein, hier besteht dieses Problem bei virtualisierten Maschinen in Proxmox.
Dann musst du dich zunächst mit den Rechten der einzelnen user auf den jeweiligen Kisten auseinandersetzen.
-
hast du den ein Ergebnis bei der Ausführung von ssh als nutzer iobroker?
die folgenden befehle auf deiner shell mit deinem hauptbenutzer der reihe nach ausführen (also jede zeile einzeln)
sudo -u iobroker bash ssh thomas@pihole6 sudo systemctl restart pihole-FTL.service
oder
sudo -u iobroker bash ssh thomas@pihole6 systemctl restart pihole-FTL.service
-
ssh kann der user iobroker schonmal, dann muss ich nur noch das login mit ssh-key einrichten.
thomas@iobroker:~$ sudo -u iobroker ssh thomas@pihole6 The authenticity of host 'pihole6 (192.168.1.21)' can't be established. ED25519 key fingerprint is SHA256:n+ueMb2fbs2S6jZFGTbCgMgD2Uj0BFD4AT+TNIoGFbc. This key is not known by any other names. Are you sure you want to continue connecting (yes/no/[fingerprint])? yes Warning: Permanently added 'pihole6' (ED25519) to the list of known hosts. thomas@pihole6's password: Linux pihole6 6.8.12-12-pve #1 SMP PREEMPT_DYNAMIC PMX 6.8.12-12 (2025-07-14T13:20Z) x86_64 The programs included with the Debian GNU/Linux system are free software; the exact distribution terms for each program are described in the individual files in /usr/share/doc/*/copyright. Debian GNU/Linux comes with ABSOLUTELY NO WARRANTY, to the extent permitted by applicable law. Last login: Tue Jul 22 17:53:16 2025 from 192.168.178.10 thomas@pihole6:~$
Ich probiere mal ...
-
@meister-mopper
wenn du als iobroker angemeldet bis
den keygen durchgeführt hastkannst du mit dem befehl
ssh-copy-id
sehr einfach den pub key auf deinen entfernten rechner übertragenhttps://wiki.ubuntuusers.de/SSH/#Public-Key-Authentifizierung
-
Erste Maßnahme:
thomas@iobroker:/home/iobroker$ sudo -u iobroker ssh-keygen -t rsa Generating public/private rsa key pair. Enter file in which to save the key (/home/iobroker/.ssh/id_rsa): Enter passphrase (empty for no passphrase): Enter same passphrase again: Your identification has been saved in /home/iobroker/.ssh/id_rsa Your public key has been saved in /home/iobroker/.ssh/id_rsa.pub The key fingerprint is: SHA256:Wl7sPLw9frJgzqC8L9i6Q1xN/Q8qA49etraNxLrhn1Q iobroker@iobroker The key's randomart image is: +---[RSA 3072]----+ | . | | . . | | o . | | o .. o | | . . +S E. o | | o .=**. . | | . +oo*+B | | oo+*oO =o . | | o+BB*.=.+= | +----[SHA256]-----+
Zweite Maßnahme:
thomas@iobroker:/home/iobroker$ sudo -u iobroker ls -lah .ssh insgesamt 24K drwx------ 2 iobroker iobroker 4,0K 22. Jul 18:09 . drwxr-xr-x 7 iobroker iobroker 4,0K 22. Jul 17:59 .. -rw------- 1 iobroker iobroker 2,6K 22. Jul 18:09 id_rsa -rw-r--r-- 1 iobroker iobroker 571 22. Jul 18:09 id_rsa.pub -rw------- 1 iobroker iobroker 978 22. Jul 17:59 known_hosts -rw-r--r-- 1 iobroker iobroker 142 22. Jul 17:59 known_hosts.old
Dritte Maßnahme (eigentlich auch logisch):
thomas@iobroker:/home/iobroker$ sudo -u iobroker cat ~/.ssh/id_rsa.pub | ssh thomas@pihole6 'cat >> .ssh/authorized_keys ' cat: /home/thomas/.ssh/id_rsa.pub: Keine Berechtigung
-
Muss ich jetzt doch auf dem Zielsystem einen user
iobroker
einrichten? -
@meister-mopper sagte in exec-Baustein will nicht ausführen:
Muss ich jetzt doch auf dem Zielsystem einen user iobroker einrichten?
nein
gibt es das .ssh verzeichnis für den user thomas auf dem entfernten rechner
/home/thomas/.ssh/
-
@oliverio sagte in exec-Baustein will nicht ausführen:
@meister-mopper sagte in exec-Baustein will nicht ausführen:
Muss ich jetzt doch auf dem Zielsystem einen user iobroker einrichten?
nein
gibt es das .ssh verzeichnis für den user thomas auf dem entfernten rechner
/home/thomas/.ssh/
Ja
thomas@pihole6:~$ ls -lah ~/.ssh insgesamt 14K drwxr-xr-x 2 thomas thomas 3 21. Jul 10:54 . drwx------ 5 thomas thomas 14 22. Jul 17:58 .. -rw-r--r-- 1 thomas thomas 1,2K 21. Jul 10:54 authorized_keys
-
probiere mal diesen befehl
cat id_rsa.pub | ssh user@server 'cat>> ~/.ssh/authorized_keys'
hm sieht eigentlich gleich aus. ich dachte die anführungsstriche fehlen
probier mal auf dem entfernten system als user thomas sowastouch ~/ssh/test.txt
wenn das auch fehlschlägt, hat user thomas auf dem system noch ein berechtigungsproblem für den ordner .ssh oder die datei authoreized keys