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 e5:d5:d1:75:90:38:42:f6:c7:03:d7:d0:56:7d:6a:db
. If you see something different, you might be MITM'd.
(Apologies if the server is down, try again shortly.)
If you're going to be diving into the code, please use the refactor branch or see issue #87. It's not quite at feature parity yet, but the code is way nicer. The master branch is what's running on chat.shazow.net, but that will change soon.
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.3 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 run
.
Additionally, 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 pprof
.
Usage:
ssh-chat [OPTIONS]
Application Options:
-v, --verbose Show verbose logging.
-i, --identity= Private key to identify server with. (~/.ssh/id_rsa)
--bind= Host and port to listen on. (0.0.0.0:22)
--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)
--pprof= enable http server for pprof
Help Options:
-h, --help Show this help message
After doing go get github.com/shazow/ssh-chat
on this repo, you should be able
to run a command like:
$ ssh-chat --verbose --bind ":2022" --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).
You can run ssh-chat using a Docker image without manually installing go-lang:
$ docker pull alvin/ssh-chat
$ docker run -d -p 0.0.0.0:(your host machine port):2022 --name ssh-chat alvin/ssh-chat
See notes in the header of our Dockerfile for details on building your own image.
This project is licensed under the MIT open source license.