os.execute ssh et quote

Posez ici vos questions d'utilisation, de configuration de Domoticz, de bugs, de conseils sur le logiciel lui même dans son utilisation et son paramètrage Concernant le Raspberry ou les scripts de toute nature des forums spécifiques sont ouverts
xavierlp
Messages : 80
Enregistré le : 01 nov. 2016, 15:28

os.execute ssh et quote

Message par xavierlp » 10 juin 2018, 17:36

Bonjour à tous

Mon Domoticz sous RPI 3 détecte si nous sommes à la maison ou pas et selon je souhaite sur le synology activer ou pas le mode HOME qui enregistre ou pas les flux vidéos des caméras en cas de mouvement.

Aussi j'ai créer un script sur le syno qui active et désactive le mode HOME.

J'ai via ssh echnager les clés et je lance depuis le RPI le script qui va bine.

Tout fonctionne très bien à la MAIN ;)

Maintenant depuis un script lua je souhaite lancer le script et j'utilise donc os.execute

C'est la qu'est l'os!

os.execute('ssh user_raspberry@192.168.0.9 -p2210 php /usr/local/domoticz/var/scripts/syno-enable-home-mode.php')

Rien ne se passe :(

Cela est peut être un problème de droit ?
Je débute sous Linux et si vous aviez des pistes j'aimerais les suivre...

Merci

Disable adblock

This site is supported by ads and donations.
If you see this text you are blocking our ads.
Please consider a Donation to support the site.


domcars0
Messages : 178
Enregistré le : 18 févr. 2017, 20:23

Re: os.execute ssh et quote

Message par domcars0 » 10 juin 2018, 18:31

Qui execute domoticz ? Pi ou Root (ou un autre user) ? Si c'est root , il faut échanger la clé publique de root avec le user_raspberry@192.168.0.9 .
Pour savoir qui execute domoticz tu vas sur ton pi où tourne domoticz et tu tapes (sans le %) :
% ps auxw | grep domoticz | grep -v grep

La commande te renvoie le nom de l'utilisateur qui execute domoticz (premier champ de retour) . Exemple :

pi@domopi:~ $ ps auxw | grep domoticz | grep -v grep
root 7098 3.2 4.1 250128 18580 ? Ssl juin01 258:32 /usr/local/domoticz/domoticz -daemon -www 8080 -sslwww 0

Dans l'exemple c'est root qui execute domoticz..

xavierlp
Messages : 80
Enregistré le : 01 nov. 2016, 15:28

Re: os.execute ssh et quote

Message par xavierlp » 10 juin 2018, 18:45

Merci domcars

Je viens de lancer la commande c'est bien root qui fait tourner domoticz.

je dois donc copier la clé qui est sur le répertoire de user_rapsberry vers le repertoir root si j'ai bine suivi ?

domcars0
Messages : 178
Enregistré le : 18 févr. 2017, 20:23

Re: os.execute ssh et quote

Message par domcars0 » 10 juin 2018, 19:27

NOn c'est l'inverse !! Tu recopies la clé publique de root dans le .ssh/authorized_keys du user_raspberry de 192.168.0.9 ...
C'est root (domoticz) qui envoie une commande à executer en tant que user_raspberry vers 192.168.0.9
De toutes facons pour verifier c'est simple, sur le pi où tourne domoticz, tu fais :
% sudo -s
(pour obtenir un shell de root)
suivi d'un :
# ssh user_raspberry@192.168.0.9 -p2210 php /usr/local/domoticz/var/scripts/syno-enable-home-mode.php

Ca doit marcher..

Disable adblock

This site is supported by ads and donations.
If you see this text you are blocking our ads.
Please consider a Donation to support the site.


xavierlp
Messages : 80
Enregistré le : 01 nov. 2016, 15:28

Re: os.execute ssh et quote

Message par xavierlp » 10 juin 2018, 19:59

Bon je dois pas encore totalement maitriser le tout !!

J'ai le message Connection reset by peer .....

Ca te dit quelquechose?

Merci


root@raspberrypi:/home/pi# ssh user_raspberry@192.168.0.9 -p2210 php /usr/local/domoticz/var/scripts/syno-enable-home-mode.php
ssh_exchange_identification: read: Connection reset by peer

domcars0
Messages : 178
Enregistré le : 18 févr. 2017, 20:23

Re: os.execute ssh et quote

Message par domcars0 » 10 juin 2018, 20:42

Oui ca signifie que le 192.168.0.9 a rejeté la demande connexion.. :x
a) as tu bien généré un certificat pour root sur la machine domoticz (avec la commande 'ssh_keygen')
b) as tu bien recopié la clé publique (en général c'est /root/.ssh/id_rsa.pub si tu as généré une clé rsa) dans le fichier .ssh/authorized_keys de user_raspberry sur 192.168.0.9 .
c) as tu bien mis en mode 'non lisible à tous' ce fichier .ssh/authorized_keys ( chmod 600 authorized_keys) qui doit bien appartenir à user_raspberry
Si tu as fait cela ça doit marcher.
Fait un test avant. En tant que root sur le domoticz tapes:
# ssh user_raspberry@192.168.0.9
Si tu as bien fait les choses tu devrais te retrouver logué comme user_raspberry sans avoir a entrer de mot de passe ...

xavierlp
Messages : 80
Enregistré le : 01 nov. 2016, 15:28

Re: os.execute ssh et quote

Message par xavierlp » 10 juin 2018, 20:58

Merci pour ton aide çà avance

alors sur le Syno j'arrive à me connecter en root avec
root@Milou:~# ssh user_raspberry@192.168.0.9 -p2210
user_raspberry@Milou:~$ exit

Milou est le nom du serveur 192.168.0.9 est son ip
La clé (dsa) indique Milou faudrait il que ce soit l'ip?

Par contre sur le RPI voila ce que j'ai

pi@raspberrypi:~ $ sudo -s
root@raspberrypi:/home/pi# ssh user_raspberry@192.168.0.9 -p2210
ssh_exchange_identification: read: Connection reset by peer
root@raspberrypi:/home/pi#

xavierlp
Messages : 80
Enregistré le : 01 nov. 2016, 15:28

Re: os.execute ssh et quote

Message par xavierlp » 10 juin 2018, 21:21

Bon j'ai eu l'explication du blocage

Le syno bloquait les ip quand tu tente une connection en root.

J'ai donc autorisé l'IP du RPI et à présent il passe mais me demande mon mot de passe.
Encore un problème de clés donc....

root@raspberrypi:/home/pi# ssh user_raspberry@192.168.0.9 -p2210
user_raspberry@192.168.0.9's password:

sur le root/.ssh/authorized_keys j'ai une ligne avec le code de la cle et à la fin pi@raspberrypi

je l'ai fait en copier-coller depuis le fichier du user_raspberry

domcars0
Messages : 178
Enregistré le : 18 févr. 2017, 20:23

Re: os.execute ssh et quote

Message par domcars0 » 10 juin 2018, 22:05

Sauf que sur le syno tu ne tentes pas une connexion comme root mais comme user_raspberry :( ...
Je crois que tu te mélanges les pinceaux :D

C'est dans .ssh/authorized_keys de user_raspberry sur Milou que tu dois avois la clé publique du root de la machine ou tourne Domoticz ...
Car c'est le root de Domoticz qui cherche à se connecter en tant que user_raspberry sur Milou ...

Tu peux donc supprimer :
Le fichier .ssh/authorized_keys du root de Milou et le .ssh/authorized_keys du root de domoticz (Il faut éviter d'avoir des fichiers authorized_keys dans le .ssh d'un root.)

xavierlp
Messages : 80
Enregistré le : 01 nov. 2016, 15:28

Re: os.execute ssh et quote

Message par xavierlp » 10 juin 2018, 22:24

Ok je commence à comprendre

Si je retire la clé pi@raspberry de user_raspberry sur Milou même un
pi@raspberrypi:~ $ ssh user_raspberry@192.168.0.9 -p2210
user_raspberry@192.168.0.9's password:

me demande le mot de passe et c'est normal

Domoticz tournant sur root je dois donc générer une clé root@raspberry
je l'ai fait via un sudo -s puis un keygen

J'ai ensuite copier la clé sur la seconde ligne du authorized_keys

Mais quand je fait
pi@raspberrypi:~ $ sudo -s
root@raspberrypi:/home/pi# ssh user_raspberry@192.168.0.9 -p2210
user_raspberry@192.168.0.9's password:

Il me demande toujours le mot de passe

Enfin si je suis sur milou çà ne passe pas non plus.
Comment dois je générer la clé root du RPI??

:shock:

Disable adblock

This site is supported by ads and donations.
If you see this text you are blocking our ads.
Please consider a Donation to support the site.


Répondre