When you first connect to an SSH server that is not contained inside your `known_hosts` file your SSH client displays the fingerprint of the public key that the server gave. I found from this question [here](https://unix.stackexchange.com/questions/298191/how-does-openssh-determine-the-choose-the-host-key-algorithm/298196#298196) that as a client you are able to specify within `ssh_config` which one of the public key pairs from the hosts' `/etc/ssh/` directory you would like.

From the `ssh_config` man page I found that the current defaults are as follows:

```
    ecdsa-sha2-nistp256-cert-v01@openssh.com,
    ecdsa-sha2-nistp384-cert-v01@openssh.com,
    ecdsa-sha2-nistp521-cert-v01@openssh.com,
    ssh-ed25519-cert-v01@openssh.com,
    ssh-rsa-cert-v01@openssh.com,
    ssh-dss-cert-v01@openssh.com,
    ecdsa-sha2-nistp256,ecdsa-sha2-nistp384,
    ecdsa-sha2-nistp521,ssh-ed25519,
    ssh-rsa,ssh-dss

```

Only recently my SSH server has been sending me a ECDSA fingerprint instead of an RSA, but I was wondering which algorithm should I choose if it even matters?

[This](https://ef.gy/hardening-ssh) article claims that ECDSA is `the old elliptic-curve DSA implementation that is known to have severe vulnerabilites`
Should I be using RSA or the newest ed25519 algorithm?