A standalone SSH server written in Go
-
Install Go (https://golang.org/doc/install) and setup your GOPATH
-
Get the code
go get github.com/leechristensen/GolangSSHServer
- Generate keys
ssh-keygen -t ed25519 -f ./authkey
ssh-keygen -t ed25519 -f ./hostkey
- Replace keys in the code
cat authkey.pub Find "authPublicKeys" variable in the code and replace the example key that's already there.
cat hostkey Find "hostKeyBytes" variable in the code and replace the example key that's already there
- Recompile
go install github.com/leechristensen/GolangSSHServer
- Run the SSH server
GolangSSHServer 2222 Starts the SSH server on localhost:2222
or
GolangSSHServer 0.0.0.0 2222 Starts the SSH server on 0.0.0.0:2222
- Connect to the SSH server with your SSH client + authentication key
ssh -i authkey user@localhost -p2222
The code in this repo is heavily borrowed from the following sources: