From 38bc2b4f9130b0343afc87c156f1bcc575e16369 Mon Sep 17 00:00:00 2001 From: Pascal Vizeli Date: Thu, 28 Jun 2018 22:21:50 +0200 Subject: [PATCH] Fix authorized_keys keys (#53) * Fix authorized_keys keys * Update hassos.conf * Update configuration.md * Update hassos-config * Update hassos-config --- Documentation/configuration.md | 4 ++-- .../system/dropbear.service.d/hassos.conf | 2 +- .../rootfs-overlay/usr/sbin/hassos-config | 19 ++++++++++++------- 3 files changed, 15 insertions(+), 10 deletions(-) diff --git a/Documentation/configuration.md b/Documentation/configuration.md index 1c51389a1..d636390b6 100644 --- a/Documentation/configuration.md +++ b/Documentation/configuration.md @@ -6,13 +6,13 @@ You can format a USB stick with FAT32/EXT4 and name it with `config`. The layout ``` network/ modules/ -known_hosts +authorized_keys hassos-xy.raucb ``` - On `network` folder can hold any kind of NetworkManager connections files. - The folder `modules` is for modules-load configuration files. -- `known_hosts` file activate debug SSH access of port `22222`. +- `authorized_keys` file activate debug SSH access of port `22222`. - For firmware updates you can but the `hassos-*.raucb` OTA update they should be install. You can put this USB stick into device and they will be read on startup. You can also trigger this process later over the diff --git a/buildroot-external/rootfs-overlay/etc/systemd/system/dropbear.service.d/hassos.conf b/buildroot-external/rootfs-overlay/etc/systemd/system/dropbear.service.d/hassos.conf index 4967b8871..5da76e50a 100644 --- a/buildroot-external/rootfs-overlay/etc/systemd/system/dropbear.service.d/hassos.conf +++ b/buildroot-external/rootfs-overlay/etc/systemd/system/dropbear.service.d/hassos.conf @@ -1,6 +1,6 @@ [Unit] RequiresMountsFor=/etc/dropbear -ConditionFileNotEmpty=/root/.ssh/known_hosts +ConditionFileNotEmpty=/root/.ssh/authorized_keys [Service] ExecStartPre= diff --git a/buildroot-external/rootfs-overlay/usr/sbin/hassos-config b/buildroot-external/rootfs-overlay/usr/sbin/hassos-config index 583ce2991..e28e51e09 100755 --- a/buildroot-external/rootfs-overlay/usr/sbin/hassos-config +++ b/buildroot-external/rootfs-overlay/usr/sbin/hassos-config @@ -1,10 +1,15 @@ #!/bin/sh +if ! findfs LABEL="config" > /dev/null; then + echo "[Warning] No config partition found" + exit 0 +fi + # Mount config folder systemctl start mnt-config.mount if ! systemctl -q is-active mnt-config.mount; then - echo "[Warning] No config partition found" - exit 0 + echo "[Error] Can't mount config partition" + exit 1 fi ## @@ -29,15 +34,15 @@ fi ## # SSH know hosts -if [ -f /mnt/config/known_hosts ]; then - echo "[Info] Update SSH known_hosts!" +if [ -f /mnt/config/authorized_keys ]; then + echo "[Info] Update SSH authorized_keys!" - cp -f /mnt/config/known_hosts /root/.ssh/known_hosts - chmod 600 /root/.ssh/known_hosts + cp -f /mnt/config/known_hosts /root/.ssh/authorized_keys + chmod 600 /root/.ssh/authorized_keys systemctl start dropbear else - rm -f /root/.ssh/known_hosts + rm -f /root/.ssh/authorized_keys systemctl stop dropbear fi