explaingit

shazow/ssh-chat

5,889GoAudience · developerComplexity · 2/5LicenseSetup · easy

TLDR

An SSH server written in Go that turns any SSH connection into a group chat room, no extra app needed, just the SSH client already installed on almost every computer.

Mindmap

mindmap
  root((ssh-chat))
    What it does
      Group chat via SSH
      No extra app needed
      Public demo server
    Tech stack
      Go
      SSH protocol
    Use cases
      Private team chat
      Terminal community
      Dev experiments
    Setup
      Pre-built binaries
      SSH key required
      Admin allowlist
Click or tap to explore — scroll the page freely

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

Things people build with this

USE CASE 1

Run a private group chat server that anyone with an SSH client can join without installing extra software.

USE CASE 2

Set up a terminal-based community chat channel accessible from the command line.

USE CASE 3

Demo a quick team chat channel on a VPS in under five minutes using a pre-built binary.

Tech stack

GoSSH

Getting it running

Difficulty · easy Time to first run · 5min

Download the pre-built binary and point it at a port and an SSH private key file.

MIT, use freely for any purpose including commercial, as long as you keep the copyright notice.

In plain English

ssh-chat is a custom SSH server written in Go that replaces the usual terminal shell with a group chat prompt. Instead of logging into a computer's command line, anyone who connects gets dropped into a chat room. The core idea is simple: you already have an SSH client installed on almost every computer, so this turns that standard tool into a chat mechanism without needing a separate app. You can try it immediately by running one command in your terminal: ssh ssh.chat. A live demo server is publicly accessible. The README includes the server's public key fingerprint so you can verify you are connecting to the real server and not an imposter. Running your own ssh-chat server is straightforward. Pre-built binaries are available for Mac, Linux (both 64-bit and 32-bit), and Raspberry Pi. Download the binary, point it at a port and an identity file (an SSH private key), and it starts accepting connections. Configuration options include setting an admin list by public key, restricting who can connect via an allowlist file, displaying a message of the day, and writing chat logs to a file. For developers who want to build from source, the project requires Go 1.8 or later and includes a Makefile with commands for building, running locally, and launching a profiling-enabled debug mode. The project is licensed under MIT, meaning it can be used and modified freely. A FAQ page and deployment examples are hosted on the project's GitHub wiki.

Copy-paste prompts

Prompt 1
I want to run my own ssh-chat server on a Linux VPS. Write a systemd service file that starts ssh-chat on port 2022, pointing at my existing SSH identity file.
Prompt 2
Using ssh-chat, how do I restrict access so only people whose public keys are on my allowlist can connect?
Prompt 3
I am writing a Go program and want to embed an SSH chat server. Show me how to use the ssh-chat package to handle connections and broadcast messages.
Prompt 4
Show me the ssh-chat admin commands for kicking a user, setting a message of the day, and writing chat logs to a file.
Open on GitHub → Explain another repo

← shazow on gitmyhub — every repo by this author, as a profile.

Verify against the repo before relying on details.