# SSH Chat



## bigcat (Jan 3, 2015)

I stumbled upon this on Hacker News. Just sharing it here cause its interesting

*What is ssh-chat?*

Custom SSH server written in Go. Instead of a shell, you get a chat prompt.

Simplest chat platform I've used so far.

*Try*

To connect,


ssh <username>@chat.shazow.net
Source on GitHub. Docker image available.

Whitelist some key, and you got yourself secure private room. But buggy though.

I just deployed it on LE VPS for giggles. 18 concurrent user, no visible load.

Have fun.


----------



## texteditor (Jan 3, 2015)

Gotta be honest, I like it. so easy and painless to join


----------



## Munzy (Jan 3, 2015)

Im building one now... I need to find a way to block abuse though.


----------



## raindog308 (Jan 3, 2015)

Related:

https://medium.com/@shazow/ssh-how-does-it-even-9e43586e4ffc


----------



## yomero (Jan 3, 2015)

Maybe some kind of option to show a timestamp of the messages?

Anyway, I like it because its simple =)


----------



## bigcat (Jan 3, 2015)

Munzy said:


> Im building one now... I need to find a way to block abuse though.


I saw people getting banned and rate-limited on the test chatroom. Maybe author have made some improvement which will soon go to GitHub.


----------



## blergh (Jan 4, 2015)

Seems like someone reinvented the wheel, kinda.


----------



## Munzy (Jan 4, 2015)

I can't get it to install. Sad face.


I'll keep looking into it. Something to do with go.


----------



## k0nsl (Jan 4, 2015)

I got one up for testing, I'll be around from time to time. But yeah, I do like the concept of it for sure   


```
ssh [email protected]
```


----------



## Munzy (Jan 4, 2015)

go get github.com/shazow/ssh-chat/
package github.com/shazow/ssh-chat
        imports runtime: C source files not allowed when not using cgo: atomic_386.c defs.c float.c heapdump.c lfstack.c malloc.c mcache.c mcentral.c mem_linux.c mfixalloc.c mgc0.c mheap.c msize.c os_linux.c os_linux_386.c panic.c parfor.c proc.c runtime.c signal.c signal_386.c signal_unix.c stack.c string.c sys_x86.c vlrt.c
import cycle not allowed
package github.com/shazow/ssh-chat
        imports golang.org/x/crypto/ssh
        imports crypto/x509
        imports net
        imports runtime/cgo
        imports runtime/cgo


Any ideas how to fix this?


----------



## mojeda (Jan 4, 2015)

Munzy said:


> go get github.com/shazow/ssh-chat/
> package github.com/shazow/ssh-chat
> imports runtime: C source files not allowed when not using cgo: atomic_386.c defs.c float.c heapdump.c lfstack.c malloc.c mcache.c mcentral.c mem_linux.c mfixalloc.c mgc0.c mheap.c msize.c os_linux.c os_linux_386.c panic.c parfor.c proc.c runtime.c signal.c signal_386.c signal_unix.c stack.c string.c sys_x86.c vlrt.c
> import cycle not allowed
> ...


rm -rf /

/s


----------



## Munzy (Jan 4, 2015)

Get back to work.....


----------



## k0nsl (Jan 5, 2015)

Hehe, I saw your GH issue (#110). I had to download and compile latest Go to get rid of that. But I'm sure you've already thought of that.



Munzy said:


> Get back to work.....


----------



## Munzy (Jan 5, 2015)

You had to compile? I just used the 1.4 version on golang.


----------



## k0nsl (Jan 5, 2015)

Yes, and I'm recompiling it right now in fact because of a small mistake... :blush: 



Munzy said:


> You had to compile? I just used the 1.4 version on golang.


----------



## Munzy (Jan 5, 2015)

I just used the prebuilt one...


----------



## Munzy (Jan 12, 2015)

I just launched mine at chat.enjen.net port 2022.

Feel free to join.


----------



## souen (Jan 18, 2015)

In case this might help someone, to get it running in CentOS 7:


$ cd /usr/local
# yum install git
// Get Go package url for your distro/arch at https://golang.org/dl/
# wget https://storage.googleapis.com/golang/go1.4.1.linux-amd64.tar.gz
# tar -xvf go*.tar.gz
$ export PATH=$PATH:/usr/local/go/bin

// Build
$ export GOPATH=$HOME/go
$ mkdir ~/go ~/go/bin ~/go/src
$ cd ~/go/src
$ go get github.com/shazow/ssh-chat
$ cd github.com/shazow/ssh-chat
$ make build
// build outputs to: ~/go/bin/ssh-chat

// Create ssh key for server (~/.ssh/id_rsa)
$ ssh-keygen -t rsa

// Start ssh-chat binding to desired port
$ ./go/bin/ssh-chat -i ~/.ssh/id_rsa --bind=:<port>

For Fedora, there are Go packages in the repo, yum install golang git then build.


----------



## Munzy (Mar 23, 2015)

I have been tinkering a little and I found that I could use shellinabox as a web based ssh client for ssh-chat.

Experimenting here: https://www.enjen.net/chatnow/

server: chat.enjen.net


----------



## drmike (Mar 23, 2015)

Munzy said:


> I have been tinkering a little and I found that I could use shellinabox as a web based ssh client for ssh-chat.


Enlighten me, what is shellinabox?


----------



## Munzy (Mar 23, 2015)

^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^



drmike said:


> Enlighten me, what is shellinabox?


----------



## drmike (Mar 23, 2015)

Munzy said:


> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^


A thread I missed   Delicious!


----------

