NEWS
Terminal Befehl an anderen Pi senden
-
Hallo ich versuche gerade einen Terminal Befehl an einen anderen Raspberry auf dem Hyperion läuft zu senden, leider bislang ohne Erfolg. Und im Netz hab ich auch nicht das gefunden was ich suche.
Der Befehl den ich normalerweise über Putty in die Konsole eingebe wäre z.B:
"v4l2-ctl --set-ctrl brightness=512"
Das ganze soll über einen Button ausgelöst werden und die 512 aus dem Beispiel kommt aus einer Variablen.
Das hab ich bis jetzt:
Ich hoffe mir kann jemand auf die Sprünge helfen!
-
- Was passiert den ?
- Gibt es einträge im Log ?
- Darf der JS Adapter exec ausführen ?
- Lass dir mal den Befehl den du an das exec gibst als Debug ausgeben, und dann versuch diesen Befehl auf der Konsole deines ioBroker auszuführen, um Dir die Fehlermeldungen anzuschauen.
-
@Asgothian über die Konsole meines iobroker geht es jetzt (lag wahrscheinlich am ECDSA key fingerprint) , aber er will immer das Passwort des Pi`s haben bei jedem Befehl.
-
@danny_v1 sagte in Terminal Befehl an anderen Pi senden:
aber er will immer das Passwort des Pi`s haben bei jedem Befehl
Entweder du gibst das Passwort mit sshpass an, oder du verwendest SSH keys.
-
@UncleSam wie funktioniert das genau, hab das in den links leider nicht wirklich verstanden.
-
@danny_v1 sagte in Terminal Befehl an anderen Pi senden:
aber er will immer das Passwort des Pi`s haben bei jedem Befehl.
Die Skripte laufen als User
iobroker
, welcher sich vermutlich nicht alspi
auf dem anderen Host anmelden darf.Geh mal auf die Konsole und wechsel dort zum User
iobroker
:sudo -u iobroker -s /bin/bash
Dort musst du dann den Login so konfigurieren, dass du dich mit SSH keys ohne Passwort (siehe Links von @UncleSam) verbinden kannst. Danach sollte es auch im Skript-Adapter funktionieren.
-
@AlCalzone said in Terminal Befehl an anderen Pi senden:
sudo -u iobroker -s /bin/bash
wen ich das auf dem 2ten raspi eingebe da kommt "sudo: unknown user: iobroker"
-
@danny_v1 Ne auf dem ersten wo iobroker läuft!
-
@AlCalzone ok da passiert erstmal gar nichts.
wenn ich danach wie im Link:
"echo password | ssh iobroker@raspberrypi" eingebe, kommt folgende Ausgabe:"Pseudo-terminal will not be allocated because stdin is not a terminal.
iobroker@raspberrypi's password:
Permission denied, please try again." -
@danny_v1 Du sollst auch den Zugang per SSH-Key einrichten wie in dem Link von UncleSam beschrieben. Mit Passwort per stdin weiterleiten kommst du nicht weit.
-
ok so weit bin ich bis jetzt gekommen:
"iobroker@raspberrypi:~ $ ssh-keygen
Generating public/private rsa key pair.
Enter file in which to save the key (/home/iobroker/.ssh/id_rsa):
/home/iobroker/.ssh/id_rsa already exists.
Overwrite (y/n)? y
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:Zb0xQKC/OLoARQwx5NYOeEdY2sS3Yb2ruFZXl8/m9cM iobroker@raspberrypi
The key's randomart image is:
+---[RSA 2048]----+
|==.++ ..oo |
|oo+=. +.. o |
|.++.oo.o .o +. |
|.oo. ...o. o+ |
|. . So ..o |
| . ..o. + .|
| . ooo. o...|
| .o... .E.|
| .+o .|
+----[SHA256]-----+
iobroker@raspberrypi:~ $ ssh-copy-id userid@hostname
/usr/bin/ssh-copy-id: INFO: Source of key(s) to be installed: "/home/iobroker/.ssh/id_rsa.pub"
/usr/bin/ssh-copy-id: INFO: attempting to log in with the new key(s), to filter out any that are already installed/usr/bin/ssh-copy-id: ERROR: ssh: Could not resolve hostname hostname: Name or service not known
iobroker@raspberrypi:~ $ ssh-copy-id pi@HyperBian
/usr/bin/ssh-copy-id: INFO: Source of key(s) to be installed: "/home/iobroker/.ssh/id_rsa.pub"
/usr/bin/ssh-copy-id: INFO: attempting to log in with the new key(s), to filter out any that are already installed/usr/bin/ssh-copy-id: ERROR: ssh: Could not resolve hostname hyperbian: Name or service not known"
-
@danny_v1 mach es mal so:
-
@Meister-Mopper
auf dem Zielsystem:
pi@192.168.xxx.xxx> mkdir -p ~/.sshdas ist die IP des iobrokers???
auf dem ioBrokersystem:
iobroker@iobroker> cat ~/.ssh/id_rsa.pub | ssh pi@192.168.xxx.xxx 'cat >> .ssh/authorized_keys'Und das die IP des zweiten PIs?
-
@danny_v1 Zielsystem ist das, auf welches das ioBroker-System senden soll. Also genau andersrum
-
@Meister-Mopper Super danke scheint zu funktionieren
-