Skip to main content
June 17, 2022
Question

Chosing which SSH key to use

  • June 17, 2022
  • 4 replies
  • 4795 views

Hi there,

I have been a 1password user for many years and it't one of my favorite productivity tools. I decided to migrate my SSH keys to it and it works really nicely, but I have found an issue.

I have two Github accounts that I use with SSH keys. GitHub won't let me add the same key for multiple accounts for obvious reasons, so I need to have separate keys for each of the accounts.

But when using 1password SSH agent, it always choose the same key.

Is there a way to prompt which key I should use? That way I can just select the key when running git commands.

Thanks for the help


1Password Version: 1Password for Mac 8.8.0 80800143, on BETA channel
Extension Version: 2.3.5
OS Version: macOS 12.14

4 replies

XIII
June 17, 2022

Using IndentifyFile in your ~/.ssh/config file should work.

June 20, 2022

Indeed I could use IdentifyFile and a custom git host for that, but if 1p had an option to choose somehow, it would make things a lot more seamless. If that functionality doesn't yet exists maybe I should open a feature request. Thanks for suggestion, though. It will do for now :)

1Password Employee
June 22, 2022

Hi @purrpledev, @XIII is right that you can leverage the SSH configuration to achieve this. Here's four steps to take to achieve this:

  1. Download the public key for both SSH key items:
Download your public key
  1. Move the public keys to your ~/.ssh/ directory.

  2. Configure hosts for your personal and work GitHub profile by appending the following to your ~/.ssh/config:

```

Personal GitHub

Host personalgit
HostName github.com
User git
IdentityFile ~/.ssh/personal_git.pub
IdentitiesOnly yes

Work GitHub

Host workgit
HostName github.com
User git
IdentityFile ~/.ssh/work_git.pub
IdentitiesOnly yes
```

Make sure the IdentityFile matches the names of the files at step 2.

  1. For each repo, change the git URL to use one of the new hosts instead of git@github.com:


git remote set-url origin <host>:<workplace>/<repo>.git

For example:


git remote set-url origin personalgit:1password/1password-teams-open-source.git

Now your SSH clients will know which SSH key to use for each repository and the right GitHub account will be used for each.

I'll also file a feature request on your behalf to explore if we can detect the duplicate configuration and prompt for you to pick an SSH key if so.

1Password Employee
June 22, 2022

I'll move this thread over to the SSH topic, as the 1Password SSH agent is shipped with 1Password 8 and is independent of 1Password CLI.