Esse é o comportamento esperado de acordo com a página do manual de ssh_config
:
IdentityFile
Specifies a file from which the user's DSA, ECDSA or DSA authentica‐
tion identity is read. The default is ~/.ssh/identity for protocol
version 1, and ~/.ssh/id_dsa, ~/.ssh/id_ecdsa and ~/.ssh/id_rsa for
protocol version 2. Additionally, any identities represented by the
authentication agent will be used for authentication.
[...]
It is possible to have multiple identity files specified in configu‐
ration files; all these identities will be tried in sequence. Mul‐
tiple IdentityFile directives will add to the list of identities
tried (this behaviour differs from that of other configuration
directives).
Basicamente, a especificação de IdentityFile
s apenas adiciona chaves a uma lista atual que o agente SSH já apresentou ao cliente.
Tente substituir esse comportamento por isso na parte inferior do arquivo .ssh/config
:
Host *
IdentitiesOnly yes
Você também pode substituir essa configuração no nível do host, por exemplo:
Host foo
User bar
IdentityFile /path/to/key
IdentitiesOnly yes