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.