I have a Ubuntu Server 12.04 that is accessible on the internet. Therefore, I would like to harden it a bit. I thought on starting to write a ~/.ssh/config file, forcing incoming clients a certain cipher, a MAC integrity, a key exchange algorithm, ...

Now my question is, which one is the best of them?

I thought on the following:
Ciphers aes256-cbc
HostKeyAlgrorithmy ssh-rsa
KexAlgroithms diffie-hellman-group-exchange-sha256
MACs hmac-sha2-512-96

What do you think, guys? Is this a reasonable way of securing?