I am using ssh publickey authentication for my mercurial repository. So I have:
[ui]
ssh = ssh -i ~/.ssh/id_rsa -C
in my .hgrc. This works f
In your ~/.ssh/config, add
Host someserver.com
IdentityFile ~/.ssh/id_rsa
Host otherserver.com
IdentityFile ~/.ssh/otherid_rsa
and anybody (including hg and interactive use) using ssh to connect to hosts someserver.com or otherserver.com will use the specified identity files.
See ssh_config for other options.