Custom SSH server written in Go. Instead of a shell, you get a chat prompt.
Join the party:
$ ssh chat.shazow.net
The server's RSA key fingerprint is
SHA256:HQDLlZsXL3t0lV5CHM0OXeZ5O6PcfHuzkS8cRbbTLBI. If you see something different, you might be MITM'd.
(Apologies if the server is down, try again shortly.)
Downloading a release
Recent releases include builds for MacOS (darwin/amd64) and Linux (386, amd64, and ARM6 for your RaspberryPi).
Play around with it. Additional deploy examples are here.
Compiling / Developing
You can compile ssh-chat by using
make build. The resulting binary is portable and can be run on any system with a similar OS and CPU arch. Go 1.8 or higher is required to compile.
If you're developing on this repo, there is a handy Makefile that should set things up with
make debug runs the server with an http
pprof server. This allows you to open http://localhost:6060/debug/pprof/ and view profiling data. See net/http/pprof for more information about
Usage: ssh-chat [OPTIONS] Application Options: -v, --verbose Show verbose logging. --version Print version and exit. -i, --identity= Private key to identify server with. (~/.ssh/id_rsa) --bind= Host and port to listen on. (0.0.0.0:2022) --admin= Fingerprint of pubkey to mark as admin. --whitelist= Optional file of pubkey fingerprints that are allowed to connect --motd= Message of the Day file (optional) --log= Write chat log to this file. --pprof= enable http server for pprof Help Options: -h, --help Show this help message
go get github.com/shazow/ssh-chat/... on this repo, you should be able to run a command like:
$ ssh-chat --verbose --bind ":22" --identity ~/.ssh/id_dsa
To bind on port 22, you'll need to make sure it's free (move any other ssh daemons to another port) and run ssh-chat as root (or with sudo).
Frequently Asked Questions
The FAQs can be found on the project's Wiki page. Feel free to submit more questions to be answered and added to the page.
This project is licensed under the MIT open source license.