Necromancing a 10 year old post.....what could go wrong.
I've found a couple paths on this.
First, you can override (modern) ssh behavior by modifying it like below example (add -o HostKeyAlgorithms=+ssh-rsa):
ssh -o HostKeyAlgorithms=+ssh-rsa admin@hostname
Above is just a workaround. To solve this issue, continue.
Second, once you're in the switch you can (YMMV, danger ahead) delete all SSH keys and re-create them. I had success with this:
system-view
public-key local destroy dsa
public-key local destroy rsa
public-key local destroy ecdsa
public-key local create rsa (respond to the prompt with 4096)
public-key local create ecdsa secp384r1
These commands delete(destroy) all the existing weak keys if present. Then you create a new RSA key with the max size. RSA won't actually be used for SSH, but it prevents a weaker key from being auto-created by the system.
The ecdsa key will then be created and 384p1 is the highest one (on my switch/at present) compatible between comware and openssh.
These commands by their nature are creating keys and don't modify the current-configuration.
-------------------------------------------