I actually played a bit more and got this: Host * IdentityFile ~/.ssh/id_rsa_d IdentityFile ~/.ssh/id_rsa Host bitbucket_1 User git HostName bitbucket.org IdentityFile ~/.ssh/id_rsa_d Host bitbucket_2 User git HostName bitbucket.org IdentityFile ~/.ssh/id_rsa And from basic testing it seems to actually work, it seems it is the Host * that make sit work and it will actually iterate the keys and try them. Not sure why this is, any thoughts? On 10 January 2018 at 15:58, Ævar Arnfjörð Bjarmason <avarab@xxxxxxxxx> wrote: > > On Wed, Jan 10 2018, Sam Millman jotted: > >> I am trying, for the sake of PhpStorm, to get multiple SSH keys >> working using git . exe, which means no GitBash. >> >> I can get the keys to work just fine with GitBash. >> >> I edited my .ssh/config to look like (I know this is incorrect): >> >> Host bitucket . org >> IdentityFile ~/.ssh/id_rsa1 >> >> Host bitbucket . org >> IdentityFile ~/.ssh/id_rsa >> >> >> And id_rsa1 works, I can actually pick from the other repo. But, of >> course, id_rsa does not now. >> >> I change to: >> >> Host bitucket . org-dd >> HostName bitbucket . org >> IdentityFile ~/.ssh/id_rsa1 >> >> Host bitbucket . org-sas >> HostName bitbucket . org >> IdentityFile ~/.ssh/id_rsa >> >> And now only id_rsa works. >> >> I also tried combining the two IdentityFile lines together like so >> (for some reason): >> >> Host bitucket . org >> IdentityFile ~/.ssh/id_rsa1 >> IdentityFile ~/.ssh/id_rsa >> >> I have even tried running ssh-agent . exe, adding id_rsa1 to that and >> then running the git clone with no result. >> >> The weird thing is, I have two public keys as well and they both load >> in the ssh . exe (they return errors about format), I just cannot get >> my ssh . exe to work with multiple private keys. > > This might just be a special case of the problem of some hosting > providers picking only the first key you provide, as described in this > thread: > https://public-inbox.org/git/20180103102840.27897-1-avarab@xxxxxxxxx/ > > If so, you either need to hack around this with ssh host aliases, or a > custom GIT_SSH_COMMAND. > >> On 10 January 2018 at 15:29, Sam Millman <sam.millman@xxxxxxxxx> wrote: >>> I am trying, for the sake of PhpStorm, to get multiple SSH keys working >>> using git . exe, which means no GitBash. >>> >>> I can get the keys to work just fine with GitBash. >>> >>> I edited my .ssh/config to look like (I know this is incorrect): >>> >>> Host bitucket . org >>> IdentityFile ~/.ssh/id_rsa1 >>> >>> Host bitbucket . org >>> IdentityFile ~/.ssh/id_rsa >>> >>> >>> And id_rsa1 works, I can actually pick from the other repo. But, of course, >>> id_rsa does not now. >>> >>> I change to: >>> >>> Host bitucket . org-dd >>> HostName bitbucket . org >>> IdentityFile ~/.ssh/id_rsa1 >>> >>> Host bitbucket . org-sas >>> HostName bitbucket . org >>> IdentityFile ~/.ssh/id_rsa >>> >>> And now only id_rsa works. >>> >>> I also tried combining the two IdentityFile lines together like so (for some >>> reason): >>> >>> Host bitucket . org >>> IdentityFile ~/.ssh/id_rsa1 >>> IdentityFile ~/.ssh/id_rsa >>> >>> I have even tried running ssh-agent . exe, adding id_rsa1 to that and then >>> running the git clone with no result. >>> >>> The weird thing is, I have two public keys as well and they both load in the >>> ssh . exe (they return errors about format), I just cannot get my ssh . exe >>> to work with multiple private keys. >>> >>> Has anyone got any ideas on how to solve this?