shazow / ssh-chat

Chat over SSH.
https://shazow.net/posts/ssh-how-does-it-even/
MIT License
5.59k stars 408 forks source link

User 'registrations' #74

Open naggie opened 9 years ago

naggie commented 9 years ago

At the moment, whilst whitelisting pubkeys is supported, within the whitelist anyone can assume any identity.

Perhaps it would be good to associate a username with keys in the whitelist (which could become a YAML file) or perhaps simply register the username with the key on the first pubkey user login -- first come first serve.

shazow commented 9 years ago

Yup this is planned, thank you for tracking it.

Currently blocked on #47 (feel free to join the discussion).

This will likely be an optional feature, possibly not enabled on public servers, or maybe users will need to ask for permission from ops to be able to register their nicks.

shazow commented 8 years ago

More thoughts on this as I'm starting to spec it out:

User registration and out-of-band notifications

You'll be able to type /register myemail@domain.com and it will attach your pubkey to your email (after sending off a validation email and confirming ownership through another command). The benefit of registration is you get offline presence (aka you appear as in-chat even if you disconnect) and you get instant email notifications of mentions and emails of conversation summaries of what you missed (hourly/daily maybe). Possibly do push notifications too (through pushbullet or something else).

shazow commented 8 years ago

When email notifications get sent, they're going to include a "safe" unencrypted section, and the context of the notification will be encrypted below if you want to read it without reconnecting. Something like this:

You were mentioned on chat.shazow.net.

Connect to the server to read the notification, or run the command below to decrypt the context:

$ openssl command to decrypt using your ssh privkey << EOF [[encrypted base64 blob to your ssh pubkey]] EOF

shazow commented 7 years ago

A quick update: There's some progress in the refactor branch towards design changes that are required for this, but I'd say it's still around 50% done. I'm not actively working on this right now so it might be a while.