Since your VM “console” works…
A trick I have used is to take the “authorized_keys” file that one can generate off-line and copy it into say HA’s “share” folder. From the VM Console (HAOS shell) you can get to the “share” folder at /mnt/data/supervisor/share/. So just copy authorized_keys file into /root/.ssh/authorized_keys