Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How is the Github handling so many public keys

I'm wondering, how Github is able to handle so many public keys, which are used for authenticating over ssh.

One user owns aprox 3 certificates and how many users are on Github - millions? Easy multiplication gives us millions of certificates. It isn't in one .ssh/authorized_keys file for user git I guess, right?

They have own ssh server implemented, or exists any mod for OpenSSH solving this kind of problem?

Thanks.

like image 506
Jakub Truneček Avatar asked Aug 28 '12 18:08

Jakub Truneček


People also ask

How many SSH keys should I have GitHub?

So, when you (as a user) setup your git environment you can create only one ssh-key for each machine you would like to give permission to your GitHub's account. Show activity on this post. Use a key per developer - each dev should generate their own key.

How do GitHub deploy keys work?

You can launch projects from a repository on GitHub.com to your server by using a deploy key, which is an SSH key that grants access to a single repository. GitHub attaches the public part of the key directly to your repository instead of a personal account, and the private part of the key remains on your server.

Do GitHub SSH keys expire?

As a security precaution, GitHub automatically deletes SSH keys that haven't been used in a year.

Where is my GitHub public key?

Add your public key to GitHubLogin to github.com and bring up your account settings by clicking the tools icon. Select SSH Keys from the side menu, then click the Add SSH key button. Name your key something whatever you like, and paste the contents of your clipboard into the Key text box. Finally, hit Add key to save.


1 Answers

They have patched sshd to lookup key in the MySQL database:

https://github.com/blog/530-how-we-made-github-fast

like image 99
rkhayrov Avatar answered Oct 14 '22 08:10

rkhayrov