O SSH já cuida disso. Na primeira vez que você se conecta a um servidor a partir de um cliente, o cliente registra a chave pública do servidor em ~/.ssh/known_hosts . Se a chave mudar em uma conexão subsequente, ssh reclamará que o servidor está sendo representado e se recusará a se conectar. (Esse mecanismo pode ser desativado pela opção de configuração, mas… não faça isso.)