But then again, if you don't trust the remote to know who you are, then why do you have an identity with them? I mean, the remote service is SUPPOSED to know who you are. That's kinda the point.
GitHub should know I'm the user who has access to push to repos a, b, and c.
AWS should know I'm the user who has access to update code or data at places d, e, and f.
But neither needs to know my full identity, or about each other, at all.
Paid services necessarily require a higher level of trust (since you are handing them money) than random internet services. So we are off-topic from ssh keys and identity.
If you don't want someone knowing your personal payment details (CC #, billing address), then pay in cash and use services don't deliver things to your home. And if you can't, then just don't use a service.
But that's living in way too much paranoia for most of us.
Just imagine that somebody can request from you the ssh key to just one of the services you access. Then he gets the access to all of them.
http://www.theatlantic.com/magazine/archive/2002/09/a-primer...
I was actually almost involved in one of such cases, I haven't invented it out of the thin air. If you can't imagine such a scenario happening to you, you're of course lucky and you'd like to use one private key for everything. But the scenario is real.
The equivalent when the scenario is an attack, and not a legal game: some entity manages to hack your computer with which you access the service A and on which you have only the private key for A, but not your another computer with which you access the service B, with the another key.
Separate keys: just your access to the service A is compromised, one key: all accesses are compromised at once.
The real goal is privacy, given that your public key is available on github and sent via plaintext when authenticating.
There are some added benefits to managing separate ssh keys for each server: it forces you to use tools to manage your keys, which make it easier to mitigate disaster when the time comes to rotate your keys due to compromise.
I don't see how this makes sense. Assuming your private keys all live on the same machine (presumably with 0600 in /.ssh), then if your machine is stolen and your user password compromised, access to one private key is the same as access to all of them.