IdentityFile ~/.ssh/id_rsa.pub
-i ~/.ssh/id_rsa.pub
Você está especificando a chave pública aqui. Você deve especificar a chave privada. A chave privada provavelmente denominada ~/.ssh/id_rsa .
~/.ssh/id_rsa é um dos nomes de arquivos de chaves padrão que ssh procura. Quando você removeu a especificação incorreta de arquivo-chave do seu comando, ssh provavelmente voltou a procurar por suas chaves padrão e usou id_rsa para a sessão.