Мои догадки:
known_hosts пишет все ключи, которые приходят от ssh сервера. Но зачем? Это по умолчанию такое поведение? Не достаточно одного ключа?
known_hosts.old пишет ключ, который выбран был для шифрования канала. Этот ключ соответствует первому в списке ключу из known_hosts (иного не замечал).