Didn't know about that, thanks!
Edit: Better source.
[0] https://blog.benjojo.co.uk/post/auditing-github-users-keys
In the general case, you should be fine. Even more so if the person whose GitHub account you are authorizing regularly checks their keys for suspicious activity.
ssh-import-id-gh <username>
It also works with launchpad (of course):
ssh-import-id-lp <username>
(It does exactly the same but is shorter to type)
EDIT: typo
The beauty of doing it this way (writing authorized_keys) is that the accounts are completely independent from a third-party auth service. (ok, I guess technically that's what we are, but we're only managing the public keys, and not directly authenticating through a remote server like a directory or database.) SSH has a beautiful design.
# JSON
I would honestly highly recommend against using Teleconsole for those reasons.
Teleconsole is an instant VPN+SSH in one command and it would be wise to educate yourself on what it does (reading just the 1st sentence of the blog post would be a good start) before recommending anything.
I use the following incantation when authorizing folks to ssh into my servers via github public keys:
[github name] here should be replaced with github username of your friend or colleague. Really handy because I can just authorize them without a human request/response loop and manual key moving. Simple and no external tools needed. Normal caveats about authorizing people apply.