Hass.io asuswrt configuration issue with ssh

I am running Hass.io on a RPi 3B+. Trying to configure the AsusWRT device tracker. AsusWRT router is an Asus RT-N66U running AsusWRT Merlin v380.70 (the last supported version for its model.

Here is my configuration.yaml:

device_tracker:
  - platform: asuswrt
    host: 192.168.1.1
    username: admin
    ssh_key: /config/.ssh/asus_key

When I ssh from the router itself, it works just fine (although the first time after a reboot, it requires confirming the host key):
image

But when home_assistant starts up, I get one of two errors. If it’s the first time starting after I reboot, I get a message that the file /root/.ssh/known_hosts does not exist. I understand that this is because Hass.io runs as a docker, so every reboot the /root/ files are reset and known_hosts are remove. How do I make it so that known_hosts persists through a reboot? Or is there a workaround I don’t know about?

Once I get the known_hosts file back in place, I get this error:

asyncssh.misc.DisconnectError: Disconnect Error: No matching key exchange algorithm found

I generally understand this has to do with the public/private key exchange between hosts, but when I ssh from the console, it works just fine. Every potential fix I’ve found revolves around adjusting /etc/ssh/ssh_config, but that file doesn’t persist, so a change there wouldn’t be helpful.

Can anybody help?

Have you tried it with password instead of key just to be sure if works?

Yup I’ve tried with password as well, same error as before. Sorry, should have mentioned that.

Not sure it’s related, but check this anyway :grinning:

On 380.69 my settings look like this and it works fine, I only use password though…

device_tracker:
  - platform: asuswrt
    host: <router_IP>
    username: <router_username>
    password: <router_password>
    consider_home: 30
    new_device_defaults:
      track_new_devices: False