When connecting via SSH my terminal wants to use id_rsa by default. I don't want to use that key for this particular server. So I am forced to specify the proper key path when connecting:

This works to connect: ssh -i /Users/myuser/.ssh/mykey [email protected]

But I would prefer to use the following to connect: ssh [email protected]

My Question: Is there a way to indicate in known_hosts or other config that SSH should use the key located at /Users/myuser/.ssh/mykey when serveruser is connecting to server.com?


  • Have you considered using a function or script to replace ssh? It is then a straightforward task to scan the parameters and add the extra parameter to use the other key when connecting to server.com.
    – AFH
    Dec 12, 2017 at 17:06

2 Answers 2


One option you could consider would be to user the .ssh/config file.

Example: .ssh/config

Host server.com
    HostName server.com
    User serveruser
    IdentityFile /Users/myuser/.ssh/mykey

By doing this you could execute "ssh server.com". The config file would use the specified Username and Identity File.

  • 2
    Addition: You can use ~/.ssh/mykey for a local key file, also on Windows.
    – Lii
    May 26, 2019 at 11:33
  • Note that if you don't have the config file in your .ssh folder you must create it first and note that the User line is optional Jun 30, 2020 at 20:17
  • Furthermore the HostName line is not required in this example, as it just tells the ssh client how to resolve the Host value (e.g. if you want to use a short alias there).
    – MA-Maddin
    Jun 23, 2023 at 15:34

An additional option would be to use ssh-agent.

If you add all of your identities to it

ssh-add .ssh/id_rsa
ssh-add .ssh/mykey

When you connect to the remote host, the one that works is the one that is used.

  • Doesn't work. I have too many entities. It just fails to login due to too many tries
    – brunoais
    Mar 14, 2023 at 19:42

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .