Bonjour à tous
J’essaye de contrôler Kodi avec Gladys via Node-red en ssh.
pour cela j’ai créé une clé ssh sur le Raspberry pi de Gladys et cette clé se trouve à l’emplacement suivant
/home/pi/.ssh/id_rsa
Toutefois Node-red ne peut accéder à ce fichier.
Sur le net j’ai trouvé cela
- Élément
L’exemple artificiel suivant montre comment une clé privée sur la machine hôte peut être lue à partir d’un conteneur.
docker run -it --rm -v ~/.ssh/id_rsa:/root/.ssh/id_rsa:ro ubuntu cat /root/.ssh/id_rsa
Cela devrait permettre à un processus exécuté en tant que root de s’authentifier avec vos informations d’identification.
- Élément
Une solution multiplate-forme consiste à utiliser un montage lié pour partager le .sshdossier de l’hôte avec le conteneur :
docker run -v /home/<host user>/.ssh:/home/<docker user>/.ssh <image>
Semblable au transfert d’agent, cette approche rendra les clés publiques accessibles au conteneur. Un avantage supplémentaire est qu’il fonctionne également avec un utilisateur non root et vous permettra de vous connecter à GitHub. Une mise en garde à prendre en compte, cependant, est que tout le contenu (y compris les clés privées) du .sshdossier sera partagé. Cette approche n’est donc souhaitable que pour le développement et uniquement pour les images de conteneur de confiance.
Dans le premier exemple je ne vois pas trop par quoi replacer « ro ubuntu », peut être l’image docker de Node-red et je ne comprends pas ce que signifie « ro »
Ce qui ferait
docker run -it --rm -v ~/.ssh/id_rsa:/root/.ssh/id_rsa:ro nodered/node-red cat /root/.ssh/id_rsa
Pour l’exemple 2
je pense qu’il faut remplacer
<host user>
par « pi » sur le Raspberry
<docker user>
par « admin » élément renseigné dans /var/lib/node-red/settings.js
<image>
par « nodered/node-red »
Ce qui ferait
docker run -v /home/pi/.ssh:/home/admin/.ssh nodered/node-red
Et en suivant le code de pierre-gilles cela donnerait
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
Je voudrais savoir ce que vous pensez de cela avant de me lancer dans les modifications.
Merci.