HAOS accès SSH (sans root)
La problématique est simple !
Comment accéder en SSH à notre Home-Assistant alors que celui-ci est présentement installé en tant que Machine Virtuelle (VM) au sein de Promox ?!
Pourquoi ? Eh ben… mh…
En premier lieu c’était pour un besoin d’accès en SFTP (donc FTP sécurisé).
Et puis comme ça on obtiendra un accès complet sans avoir recourt ni à l’utilisateur root ni à un pauvre mot de passe mal sécurisé.
Je me suis largement inspiré de cette vidéo ci-dessus et j’apporte ci-dessous mon complément d’informations car il y a quelques points qui méritent d’être précisés.
L’addon
Nom : Advanced SSH & Web Terminal
Page officiel : https://github.com/hassio-addons/addon-ssh
- Installez là et ne la démarrez pas tout de suite (ça ne servirait à rien puisque la configuration n’est pas encore bonne).
Configuration
Username
Au départ, vous avez peu ou prou quelque chose comme ceci :
Configuration de l'addon
username: mon_super_user
password: ""
authorized_keys: []
sftp: false
compatibility_mode: false
allow_agent_forwarding: false
allow_remote_port_forwarding: false
allow_tcp_forwarding: false
Avertissement
SURTOUT, il n’est pas recommandé de remplacer le « username » par « root« .
TOUT sauf CA ! C’est une question élémentaire de sécurité.
- Vous avez pour le moment juste le droit (optionnel) de changer le
usernameà votre guise.
Notez-le.
Génération de clé SSH
Nous allons avoir besoin de générer un paire de clés SSH et pour ce faire, nous allons avoir besoin du terminal de Windows. Le mécanisme utilise OpenSSH.
Nous aurions sans doute pu le faire via PuTTY mais au moins là il n’y a pas besoin de logiciels tierce.
- Ouvrez un fenêtre PowerShell (mode administrateur) ou faite Win + X > Terminal (Administrateur)
- La commande est :
Terminal - PowerShell
ssh-keygen -t rsa -b 4096
Cela va générer un clé bien plus complexe et donc plus sécurisé que l’option ssh-keygen seule par défaut.
(Plus d’informations)
Vous devriez voir apparaitre quelque chose comme :
Generating public/private rsa key pair.
Enter file in which to save the key (C:\Users\Gotcha/.ssh/id_rsa):
J’ai laissé volontairement le dossier et le nom du fichier par défaut mais sachez qu’il est possible de personnaliser (voir en fin d’article dans les liens utiles).
- Vous avez juste à appuyer sur la touche <Entrée>
A présent, une nouvelle ligne apparait :
Enter passphrase (empty for no passphrase):
Késako ? Un mécanisme supplémentaire de protection visant à faire rajouter un mot de passe qui vous sera demandé lors de l’utilisation de la clé SSH.
Personnellement, c’est trop complexe et je m’en tiens à ne pas utiliser le passphrase.
- Validez (par deux fois pour la confirmation) sans rien avoir saisi.
Une fois réussie, vous obtenez quelque chose de semblable à :
Your identification has been saved in C:\Users\Gotcha/.ssh/id_rsa
Your public key has been saved in C:\Users\Gotcha/.ssh/id_rsa.pub
The key fingerprint is:
SHA256:C1SQFsgaRtwlfodz20sCRtrTLGD2Hn3VwEe42f8XP50 gotcha@PC-Fixe
The key's randomart image is:
+---[RSA 4096]----+
|+=**.=oµo= .. o|
|=*+.B ..= . o .o|
|+ o*.-o. o +|
| oo *.+. . .E|
| o = +S |
| . o + |
| L . |
| i |
| . |
+----[SHA256]-----+
PS C:\Users\Gotcha>
Cette empreinte numérique (que j’ai modifié pour l’exemple) est calculée en fonction du matériel qui compose votre poste information et aussi d’autres éléments numériques.
Cette clé est donc comme une fiche d’identité.
Les fichiers se trouvent ainsi dans : C:\Users\Gotcha\.ssh
-
- id_rsa
- id_rsa.pub
.pub n’est aucunement un fichier Microsoft Publisher !- Faites un clic droit puis modifier le fichier
id_rsa.pubavec un bloc-note. - Copier-coller tout le contenu.
On insert sa clé SSH
- De retour dans le panneau de configuration de l’addon, on saisie le contenu de sa clé SSH précédemment copié.
Attention à la mise en forme !
Pour vous aider, voici comment cela doit être présenté :
Configuration de l'addon
username: haos_user
password: ""
authorized_keys:
- >-
ssh-rsa
c2EAAAADAQABAAACAQC5iV5PUOqg/sRsF4jB3YztNi1KUkqb3jeLXil8aYiGB/BDkajK1b4G6O8s6NTjjtjD9wrzD/Xy/N3w9flQa9TWRt2N/XprScyDQvAcLVdcwOk1+vVv49UNRDm5ywEpZRlU7/wdYua0TwkMHAmprbd8kIx0sdAWcOZzL6ny7a5/
+Loh+1N+xOjz3JsKoyCYxgYff9rTws9jSfogTe5sLNbNc39TecQD/PIu7Bflnqsn+QFlkblRPrS4Xk2buVMR+1JSYL74Pke=
gotcha@PC-Fixe
sftp: false
compatibility_mode: false
allow_agent_forwarding: false
allow_remote_port_forwarding: false
allow_tcp_forwarding: false
- Ne reste plus qu’à enregistrer cette nouvelle configuration.
Terminal SSH interne (Home-Assistant)
- A présent, il est temps de démarrer l’addon.
- Soit via le raccourcis depuis la barre latérale que vous pouvez rajouter (option)
- Soit en cliquant sur le bouton « OUVRIR L’INTERFACE UTILISATEUR WEB »
- Vous devriez voir la même chose que ce qui s’affiche dans la console Shell de votre Machine Virtuelle !
- Saisissez simplement la commande suivante :
ls -la
YOUPI !! Tout fonctionne et l’interface accepte le clavier Français AZERTY en prime !
Précision
La connexion SSH que nous allons mettre en place ici ne fonctionne QUE si le l’addon est démarrée.
Connexion SSH depuis Windows
Maintenant que via notre VM tout fonctionne, nous allons faire de même coté Windows.
De retour sur la fenêtre de terminal (Administrateur) nous allons saisir la commande :
Terminal - PowerShell
ssh -m hmac-sha2-512-etm@openssh.com haos_user@192.168.0.100
A vous d’adapter le nom de l’utilisateur que vous avez renseigné plus haut, ainsi que l’adresse IP de votre Home-Assistant.
Donc logiquement, vous observez le même prompt (écran noir quoi ^^) qu’observé via le terminal de l’addon.
- Saisissez maintenant la même commande que plus haut à savoir :
ls -la
Normalement, tout doit être identique !
Raccourcis pour Windows
Saisir la longue instruction est un peu rébarbatif pour vous ?! Pas de soucis nous allons raccourcir ceci.
- Ouvrez donc
%systemdrive%%homepath%\.ssh(ce qui chez moi revient à C:\Users\Gotcha\.ssl) - Si le fichier
confign’existe pas, créez-le puis éditez le comme suit :
host ha
HostName 192.168.0.100 #Adresse IP de votre home-assistant
User mon_super_user #Pas de root SVP !
IdentityFile ~/.ssh/id_rsa
Macs hmac-sha2-512-etm@openssh.com
Donc maintenant vous n’aurez plus qu’à saisir tout simplement : ssh ha et c’est tout !
Accès SFTP (WinSCP)
Bah oui ! Puisque nous en sommes là, avoir un accès sécurisé à ses fichiers via le logiciel WinSCP c’est bien aussi !
Et le but ici c’est de ne pas dépendre d’un bête mot de passe. C’est simple certes mais nous venons de mettre en place votre clé d’identification SSH, alors nous allons nous en servir ici pour l’accès FTP sécurisé (SFTP).
- Ouvrez WinSCP et Cliquez sur « Nouvel Onglet«
- Saisissez
- Protocole de fichiers
SFTP - Nom d’hôte
192.168.0.100 - Numéro de port
22 - Nom d’utilisateur
mon_super_user - Mot de passe
<vide>
- Protocole de fichiers
- Cliquez ensuite sur «
Avancé...»- Dans la section SSH > Authentification cochez l’option :
Permettre l'utilisation d'agent de connexion - Dans le champs « Fichier de clé privée » aller rechercher le fichier id_rsa
Astuce : il faut afficher tous les fichiers ! - Vous serez averti que le fichier doit être converti au format PuTTY.
Validez - Enregistrez le fichier ainsi généré (.ppk)
Validez - Dans le champs juste en dessous qui vient d’apparaître :
Sélectionnez le fichier id_rsa.pub - Validez l’ensemble.
- Dans la section SSH > Authentification cochez l’option :
- De retour sur le panneau de « Login », cliquez sur «
Sauver...« - Puis… «
Connexion« -
🔊 TADAAAAAA
- 1/ Nouvel onglet
- 2/ Panneau de "Login"
- 3.a/ Paramètres avancés de site
- 3.b/ Clé privée
- 3.c/ Conversion en format PuTTY
- 5/ Clé public







