In essence stop using git username globally and start supporting user names.
In essence stop using git username globally and start supporting user names.
Not sure why you choose to look at the key as identity.
You can choose to give the public half of your key to multiple entities to allow them to verify your possesion of the private half of the key but that does not translate into multiple identities.
Can you use the same ssh key to ssh into different accounts on the same system?
The main alternative is "Machine Users"[1], which are actually normal user accounts. That means they have the same policies as regular users, like mandated 2FA for an organization. And to manage them you have to log-in as that user. That makes it a pain for a team to manage a Machine User.
GitHub really needs to have Service Accounts that belong to an organization, and can be managed by admins of the organization (without having to log-in as the Service Account). The Service Accounts should be able to have SSH keys and API tokens associated with them.
[1] https://developer.github.com/v3/guides/managing-deploy-keys/
Never heard such a restriction even mentioned, let alone enforced.
Enforced — of course not (guess why I was told), but it stands to reason that they probably won’t add a feature to facilitate TOS violation.
This becomes messy to manage, as it's not easy(as far as I know) to use the same account on your personal PC to do both personal and work work.