Sweet. You can fetch keys from GitHub by username without authenticating, so that could be a convenient way to avoid having to paste keys.
e.g.:
~/.ssh/authorized_keys
api.github.com/user/keys
iam.amazonaws.com/?Action=CreateAccessKey
and so on?(edited for formatting)
The thinking is that we never want to move a private key, but public keys can go anywhere.
SSH keys are asymmetric. Think of public keys as locks and private keys as ... well, keys. You hand out copies of the lock but you keep the key to yourself. Anyone can put a lock on a box and know you're the only one who can open it. You tell them what lock to use and then use your key to open it to show them you are who you claim to be.