Commandes unix non reconnues

*** Mon Problème ***

Hello,
Je cherche à lancer une commande de type
sudo service fhem restart (en command_line).
Mais je vois déjà qu’elle n’est pas reconnue dans le terminal HA , sous-entendant que ce terminal HA reconnaît un nombre limité de commandes unix.
Comment avez-vous contourné ce problème ? En lançant une connexion sur le pi host ssh pi@192.168.1.9... sudo service fhem restart? Le problème c’est que je n’arrive pas à lancer simplement une connexion sur le pi host :thinking:
Je précise que j’ai installé HA en supervised
Merci pour vos retours :pray:

*** Ma configuration ***

System Health

version core-2022.4.5
installation_type Home Assistant Supervised
dev false
hassio true
docker true
user root
virtualenv false
python_version 3.9.9
os_name Linux
os_version 5.10.92-v7l+
arch armv7l
timezone Europe/Paris
Home Assistant Community Store
GitHub API ok
GitHub Content ok
GitHub Web ok
GitHub API Calls Remaining 5000
Installed Version 1.24.5
Stage running
Available Repositories 1107
Downloaded Repositories 43
Home Assistant Cloud
logged_in false
can_reach_cert_server ok
can_reach_cloud_auth ok
can_reach_cloud ok
Home Assistant Supervisor
host_os Raspbian GNU/Linux 11 (bullseye)
update_channel stable
supervisor_version supervisor-2022.04.0
docker_version 20.10.12
disk_total 915.6 GB
disk_used 118.0 GB
healthy true
supported failed to load: Unsupported
supervisor_api ok
version_api ok
installed_addons Duck DNS (1.14.0), ESPHome (1.16.2), File editor (5.3.3), Home Assistant Google Drive Backup (0.103.1), Mosquitto broker (6.0.1), Portainer (1.4.0), Samba share (9.5.1), Terminal & SSH (9.3.0), deCONZ (6.12.0)
Dashboards
dashboards 1
resources 30
views 13
mode storage
Spotify
api_endpoint_reachable ok

C’est alpine qui tourne derrière… Pas debian ni Ubuntu

Merci @Clemalex pour ton retour.
C’est pourtant bizarre, quand j’essaie de lancer une commande de cette distribution, ça ne la reconnaît pas non plus :thinking:

Merci de reprendre ton premier post et de renseigner la demande d’information concernant ton installation.

Car entre HA OS ou supervised c’est pas pareil.

On gagnera du temps… Là on en perd. :innocent:

1 « J'aime »

Je suis désolé @Clemalex je viens de corriger mon oubli

1 « J'aime »

Salut,

Quand tu as installé ton système on Supervised, tu as bien dû te connecter sur ton Raspbian en SSH pour installer les pré-requis et Docker. Donc tu devrais encore avoir accès.

Je n’ai pas d’expérience sur ce type d’installation, mais ça ne pourrait pas venir de ton add-on SSH de HA qui prend le port SSH par défaut (22)?

1 « J'aime »

Tu as le réponse du type de distribution installer sur ta capture. C’est une debian.

Merci pour vos retours !
En effet @AlexHass , le SSH de HA prend le port 22, j’arrive quand même à lancer un ssh mais il me demande le mot de passe :frowning:
ssh -i /config/.ssh/id_rsa -o StrictHostKeyChecking=no -p 2222 pi@192.168.1.40
il me demande à chaque fois le mot de passe alors que je tente désespérément de déclarer des options ssh pour éviter de taper le mot de passe , et lancer ainsi directement ma commande sudo service fhem restart

Si les chemins sont bons, vu de Docker, le truc à regarder ce sont les droits des fichiers.
Il faut que les fichiers de clé soient en droit linux 0600. Un truc trop permissif et le fichier n’est pas pris en compte.
Il faut être sur que le fichier id_rsa appartiennent au bon user dans docker et avec les bons droits.

1 « J'aime »

Merci @golfvert pour ton retour; là a priori j’ai fait les modifs en droit 600 dans le terminal HA mais il continue à me demander le mot de passe :frowning:

Et tu as bien copié la clé publique id_rsa.pub sur le pi?

J’ai un petit doute à force d’avoir fait des manip, mais depuis le temps je ne sais plus où je suis sensé le trouver.
HA supervised est sur le pi 192.168.1.40 tout comme là où je veux lancer la commande sudo service fhem restart
je suis sensé le mettre sous /home/pi/.ssh ?
Cette fois-ci sous putty 192.168.1.40 sous user pi et port 22
puis sudo su - puis


mais à nouveau sous Terminal HA il me demande le mot de passe avec la commande ssh -i /config/.ssh/id_rsa -o StrictHostKeyChecking=no -p 22 pi@192.168.1.40

Copier avec cp ne suffit pas…
Le plus simple est d’utiliser ssh-copy-id, voir par exemple Copier la clé d'un host dans le fichier authorized_keys d'un host distant | Mon pense-bête comment faire.

1 « J'aime »

Salut
J’arrive un peu après la bataille, mais…

Ca dépends de l’addon (oui il y 2 addons ssh). Dans tous les cas, arrêter/désactiver l’addon retire le mapping du port 22 et c’est celui de l’os qui répondra.
Par ailleurs je crois bien que root n’a pas de mot de passe dans le container ssh et que de toute façon y mettre une clé, c’est pas forcément pérenne si le volume du container est amené à être reconstruit

1 « J'aime »

Merci @golfvert @Pulpy-Luke pour vos retours !
Alors le ssh_copy a permis de tester sous terminal HA le ssh -i /config/.ssh/id_rsa -o StrictHostKeyChecking=no -p 22 pi@192.168.1.40 et super ! : il ne me demande plus le mot de passe :slight_smile:
J’ai donc fait ce test à blanc qui marche aussi ; nickel merci à vous ! :wink:

  - platform: command_line
    switches:
      restart_fhem:
        command_on: ssh -E /config/toto -i /config/.ssh/id_rsa -o StrictHostKeyChecking=no -p 22 pi@192.168.1.40 'sudo cp /usr/share/hassio/homeassistant/toto /usr/share/hassio/homeassistant/titi'
        command_off: ssh -E /config/toto -i /config/.ssh/id_rsa -o StrictHostKeyChecking=no -p 22 pi@192.168.1.40 'sudo cp /usr/share/hassio/homeassistant/toto /usr/share/hassio/homeassistant/titi'