ssh-chat from an existing ssh server #436
sirnewton01
started this conversation in
Ideas
Replies: 1 comment
-
I don't believe you could natively multiplex separate "dumb" ssh services this way unless you're separating by username or something else. While ssh-the-protocol does support custom subsystems, most of the services you describe just use the default ssh subsystems so they would collide. |
Beta Was this translation helpful? Give feedback.
0 replies
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
-
One of the really interesting things about SSH as a protocol is that you can have a single ssh server (e.g. OpenSSH) that serves multiple tools/protocols. I can install an ssh server on one of my in-house computers on the default port and use that server to provide git, rsync, borg backup, and even VSCode remote access to there. Users connect with their SSH keys to either their own account, or some kind of a shared account that permits them access using authorized keys. All that's required is that these tools are installed on the client and server, available on the path. When the client connects it performs the usual SSH connection handshake, and then invokes itself on the server to establish a bidirectional communication channel.
If ssh-chat worked in this way then a single server can support multiple protocols at the same time. It can provide git access, permit people to sync files, and now engage in a chat session too. So, instead of ssh-chat opening up an SSH port, it just needs to be able to be run as a command from the command-line, with some mechanism of reading/writing a shared database of the chat history, and motd. As a bonus, this can even work without SSH at all if every user is on the same computer, just like you can with other SSHLA tools. You can git clone from another directory on the computer, as an example without any network connection at all.
A bonus to this approach is that ssh-chat might not need an SSH stack at all.
Beta Was this translation helpful? Give feedback.
All reactions