Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

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
like image 598
guilin 桂林 Avatar asked Apr 06 '12 08:04

guilin 桂林


People also ask

Can you use the same SSH key for multiple repos?

GitHub should allow you to register the same SSH key for more than one repo. We recommend this when you need to access multiple repositories during your build.

Can I use the same SSH key for multiple repositories GitLab?

GitLab does not allow you to use the same SSH key in multiple accounts, so you'll have to create separate keys for each account. You can create SSH keys and add them to your SSH agent by following this guide from the GitHub Documentation. Once you're done, you will have two sets of SSH keys, e.g.: ~/.

Can I use SSH key for multiple GitHub accounts?

GitHub does not allow us to use the same SSH key in multiple accounts, so we'll have to create separate keys for each account. We can create SSH keys and add them to our SSH agent by following this guide from the GitHub Documentation. Once we're done, we will have two sets of SSH keys, e.g.: ~/.


1 Answers

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.

like image 107
VonC Avatar answered Sep 27 '22 17:09

VonC