# Collecteur SSH Utiliser `scripts/collect_ssh_evidence.sh` lorsque SSH est justifié et que l'utilisateur veut une collecte reproductible en lecture seule. ## Entrées attendues Un fichier d'identifiants au format `credentials.env` contenant au minimum : - `HA_SSH_HOST` - `HA_SSH_PORT` - `HA_SSH_USER` - soit `HA_SSH_PASSWORD`, soit `HA_SSH_KEY_PATH` Préférer `HA_SSH_KEY_PATH` si disponible. ## Exemple ```bash scripts/collect_ssh_evidence.sh \ --credentials ~/.ha-log-investigator/credentials.env \ --output ./ha-evidence ``` ## Garanties - collecte en lecture seule ; - aucune modification distante ; - sorties regroupées dans un dossier horodaté ; - absence de secrets dans les rapports générés par le script. ## Données collectées - système : `uname`, OS, CPU, mémoire, swap, disques ; - indices de version Home Assistant accessibles localement ; - extrait de logs Home Assistant ; - fichiers YAML principaux si accessibles ; - index des fichiers `.storage` si accessible. ## Limites - les chemins varient selon le mode d'installation ; - l'authentification par mot de passe exige `sshpass` côté machine cliente ; - le script collecte des preuves, il ne remplace pas la validation par documentation officielle avant recommandation. ## Plusieurs add-ons SSH Sur Home Assistant OS, préférer l'add-on officiel `Terminal & SSH` lorsqu'il faut collecter `ha core logs`. Si un autre add-on SSH est utilisé pour d'autres tâches, conserver des profils d'accès distincts et consigner lequel a servi à chaque collecte. ## Cas `ha core logs` interactif uniquement Si `ha core logs` fonctionne après connexion interactive mais renvoie `401 Unauthorized` lorsqu'il est exécuté directement via `ssh host 'ha core logs'`, utiliser un mode interactif avec TTY pour la collecte des logs, puis nettoyer les séquences ANSI et le banner avant analyse. Cette situation doit être notée dans `repair.md` comme une contrainte d'accès, pas comme une erreur Home Assistant.