I'm confused by the concept of SSH keys when it comes to using a remote repository hosted by GitHub. I generated the keys as instructed in http://help.github.com/win-set-up-git/ , but now that I have multiple devs pushing into the repo, I'm not clear if we're all to share one single SSH key or if we all need to generate an individual key per-machine and use that?
Could someone kindly clarify that for me?
An SSH key is used for the user to be authenticated and identified into GitHub.
It is common that, for every different device a user uses to access GitHub, he generates a different ssh-key and register/link it to his GitHub's account.
When you control a project, you control access and permissions based on users, and not SSH keys.
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.
Github now recommends using HTTPS instead of SSH keys but everything in this answer remains valid if you replace all SSH key references above by Github's Personal Access Tokens