Hallo zusammen
Ich versuche, Kodi mit Gladys über Node-red per SSH zu steuern.
Dazu habe ich einen SSH-Schlüssel auf dem Raspberry Pi von Gladys erstellt, und dieser Schlüssel befindet sich an folgender Stelle
/home/pi/.ssh/id_rsa
Allerdings kann Node-red nicht auf diese Datei zugreifen.
Im Internet habe ich Folgendes gefunden
- Element
Das folgende künstliche Beispiel zeigt, wie ein privater Schlüssel auf der Host-Maschine von einem Container aus gelesen werden kann.
docker run -it --rm -v ~/.ssh/id_rsa:/root/.ssh/id_rsa:ro ubuntu cat /root/.ssh/id_rsaDies sollte es einem als root ausgeführten Prozess ermöglichen, sich mit Ihren Anmeldeinformationen zu authentifizieren.
- Element
Eine plattformübergreifende Lösung besteht darin, eine verbundene Montage zu verwenden, um den .sshdOrdner des Hosts mit dem Container zu teilen:
docker run -v /home/<host user>/.ssh:/home/<docker user>/.ssh <image>Ähnlich wie beim Agenten-Transfer macht dieser Ansatz die öffentlichen Schlüssel für den Container zugänglich. Ein zusätzlicher Vorteil ist, dass er auch mit einem nicht-root-Benutzer funktioniert und Ihnen die Verbindung zu GitHub ermöglicht. Eine Warnung, die jedoch zu beachten ist, ist, dass der gesamte Inhalt (einschließlich der privaten Schlüssel) des .sshdOrdners geteilt wird. Dieser Ansatz ist daher nur für die Entwicklung und nur für vertrauenswürdige Container-Images wünschenswert.
Im ersten Beispiel sehe ich nicht genau, was ich für « ro ubuntu » einsetzen soll, vielleicht das Node-red Docker-Image, und ich verstehe nicht, was « ro » bedeutet
Was dann
docker run -it --rm -v ~/.ssh/id_rsa:/root/.ssh/id_rsa:ro nodered/node-red cat /root/.ssh/id_rsa
Für Beispiel 2
glaube ich, dass man
<host user> durch « pi » auf dem Raspberry ersetzen muss
<docker user> durch « admin » Element, das in /var/lib/node-red/settings.js angegeben ist
<image> durch « nodered/node-red »
Was dann
docker run -v /home/pi/.ssh:/home/admin/.ssh nodered/node-red
Und wenn man dem Code von pierre-gilles folgt, ergibt sich
docker run -d \
--log-opt max-size=10m \
--restart=always \
--privileged \
-u root \
--network=host \
--name node_red \
-v /var/lib/node-red:/data \
-v /home/pi/.ssh:/home/admin/.ssh \
nodered/node-red
Ich würde gerne Ihre Meinung dazu hören, bevor ich mit den Änderungen beginne.
Danke.