Bonsoir,
Je rencontre un problème avec l’envoi d’une commande SSH. En effet, j’ai bien configuré les clés pour la connexion sans mot de passe entre mon HAOS et un pc tournant sous Ubuntu. lorsque je saisis la ligne de commande dans le terminal SSH d’HAOS, cela fonctionne bien et éteins à distance le PC sous Ubuntu. J’essaye donc de créer un script pour pouvoir l’exécuter dans des automatisations mais cela ne fonctionne malheureusement pas.
J’ai créé un fichier eteindre_miroir.sh que j’ai mis dans /config/scripts avec les droits adéquats :
J’ai aussi essayé `ssh -o StrictHostKeyChecking=no miroir@192.168.0.17 ‹ sudo /sbin/poweroff › dans mon fichier .sh mais cela ne fonctionne pas non plus.
si vous avez des pistes, je suis preneur.
En vous remerciant par avance,
`
Ma configuration
System Information
version
core-2025.4.4
installation_type
Home Assistant OS
dev
false
hassio
true
docker
true
user
root
virtualenv
false
python_version
3.13.2
os_name
Linux
os_version
6.12.23-haos
arch
x86_64
timezone
Europe/Paris
config_dir
/config
Home Assistant Community Store
GitHub API
ok
GitHub Content
ok
GitHub Web
ok
HACS Data
ok
GitHub API Calls Remaining
5000
Installed Version
2.0.5
Stage
running
Available Repositories
1699
Downloaded Repositories
27
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
Home Assistant OS 15.2
update_channel
stable
supervisor_version
supervisor-2025.04.1
agent_version
1.7.2
docker_version
28.0.4
disk_total
30.8 GB
disk_used
12.7 GB
healthy
true
supported
true
host_connectivity
true
supervisor_connectivity
true
ntp_synchronized
true
virtualization
kvm
board
ova
supervisor_api
ok
version_api
ok
installed_addons
Advanced SSH & Web Terminal (20.0.2), Cloudflared (5.2.13), Studio Code Server (5.19.2), File editor (5.8.0), InfluxDB (5.0.2), Mosquitto broker (6.5.0), MyElectricalData (0.13.2), Home Assistant Google Drive Backup (0.112.1), Frigate (0.15.1)
bonjour,
Merci pour vos réponses,
La commande sudo n’utilise pas de mot de passe. j’ai fait une modification dans visudo concernant l’utilisateur « miroir »: miroir ALL=(ALL) NOPASSWD: /sbin/poweroff
J’ai essayé diverses solutions en shell_command et en command_line mais je ne m’en sors pas.
Concernant command_line, j’ai cherché sur divers posts mais selon les dates de rédaction, la syntaxe n’est pas la même. J’imagine donc qu’il y a eu un changement chez HA.
Quelqu’un pourrait-il m’aiguiller sur la syntaxe à insérer dans le fichier YAML concernant l’une ou l’autre des solutions ?
Le plus fou c’est que saisi directement dans le terminal, cela fonctionne bien…
En vous remerciant par avance,
J’ai un petit NAS fait de Pi et OPENMediaVault.
Ce dernier est derrière une prise connectée.
Mais j’utilise un « shell_command » pour l’éteindre proprement.
J’ai donc un script qui arrête le NAS et ensuite coupe l’alimentation avec la prise connectée.
Le script et le Shell Command en question:
################################
#### Partie Script ######
################################
script:
##############################################################
#### script qui arrête proprement le serveur NASGDX2 ####
##############################################################
stop_nasgdx2:
alias: Arreter nasgdx2
sequence:
- service: shell_command.stop_nasgdx2
data: {}
- delay:
seconds: 45
- service: switch.turn_off
data: {}
target:
entity_id: switch.plug_pilote_nas
mode: single
icon: mdi:server-network
############################################
#### Partie Ligne de commande ######
############################################
shell_command:
stop_nasgdx2: ssh -i /config/ssh_keys/id_rsa_core-ssh -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no core-ssh@192.168.1.230 sudo shutdown
Cela fonctionne bien pour moi
Je ne sais pas si c’est fort différent pour attaquer une machine Ubuntu
Bonjour,
J’ai enfin réussi à solutionner mon problème.
Le problème venait du fait d’avoir crée les clés dans le dossier /.ssh au lieu de /config.
Après ce changement, j’ai appliqué vos propositions et cela fonctionne:
Dans config.yaml: