guilin 桂林
guilin 桂林

Reputation: 17422

how to add deploy key for 2 repo with 1 user on github

I create a deploy user, generate an ssh_key, I add id_rsa.pub as github deploy key.

this deploy user need pull 2 repo, so I add the same ssh_key to another repo as deploy key.

but github tell me, deploy key already in use.

and I don't know how add 2 id_rsa.pub for 1 user.

update:

I add id_rsa_assets additional, but I still cannot pull.

ssh-add .ssh/id_rsa_assets

Could not open a connection to your authentication agent.

.ssh/config

Host guardians
    Hostname github.com
    User git
    IdentityFile ~/.ssh/id_rsa

Host assets
    Hostname github.com
    User git
    IdentityFile ~/.ssh/id_rsa_assets

Upvotes: 8

Views: 6092

Answers (1)

VonC
VonC

Reputation: 1323553

You can create two public/private keys with whatever name you want:

~/.ssh
  repo1
  repo1.pub
  repo2
  repo2.pub

  config

(Ie it doesn't have to be named id_rsa(.pub) to work, provided you indicate ssh where to look.
That is where 'config' comes into play: the config file includes the name of your two connections for GitHub repo1 and GitHub repo2 with, for each connection, the path to your private repo key, as described in "change github account mac command line" and in "Quick Tip: How to Work with GitHub and Multiple Accounts":

Host githubRepo1
HostName github.com
User git
IdentityFile ~/.ssh/repo1

Host githubRepo2
HostName github.com
User git
IdentityFile ~/.ssh/repo2

That way you can pull from any of the two repos, as long as you are using their ssh addresses.

Upvotes: 11

Related Questions