https://github.com/gliderlabs/ssh
Easy SSH servers in Golang
https://github.com/gliderlabs/ssh
golang golang-package ssh ssh-server
Last synced: 5 days ago
JSON representation
Easy SSH servers in Golang
- Host: GitHub
- URL: https://github.com/gliderlabs/ssh
- Owner: gliderlabs
- License: bsd-3-clause
- Created: 2016-10-03T21:53:44.000Z (over 8 years ago)
- Default Branch: master
- Last Pushed: 2025-01-27T22:38:18.000Z (2 months ago)
- Last Synced: 2025-04-01T05:31:01.047Z (12 days ago)
- Topics: golang, golang-package, ssh, ssh-server
- Language: Go
- Homepage: https://godoc.org/github.com/gliderlabs/ssh
- Size: 1.99 MB
- Stars: 3,852
- Watchers: 66
- Forks: 467
- Open Issues: 54
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
- awesome-go - ssh - Higher-level API for building SSH servers (wraps crypto/ssh). (Networking / Transliteration)
- zero-alloc-awesome-go - ssh - Higher-level API for building SSH servers (wraps crypto/ssh). (Networking / Transliteration)
- awesome-repositories - gliderlabs/ssh - Easy SSH servers in Golang (Go)
- go-awesome - gliderlabs/ssh - Just create an SSH server like `net/http` (Open source library / The Internet)
- awesome-go - ssh - Higher-level API for building SSH servers (wraps crypto/ssh). Stars:`3.9K`. (Networking / Transliteration)
- awesome-go - ssh - Easy SSH servers in Golang - ★ 862 (Networking)
- awesome-go-extra - ssh - 10-03T21:53:44Z|2022-05-09T19:28:43Z| (Networking / Uncategorized)
- awesome-go-zh - ssh
- awesomeLibrary - ssh - Easy SSH servers in Golang (语言资源库 / go)
README
# gliderlabs/ssh
[](https://godoc.org/github.com/gliderlabs/ssh)
[](https://circleci.com/gh/gliderlabs/ssh)
[](https://goreportcard.com/report/github.com/gliderlabs/ssh)
[](#sponsors)
[](http://slack.gliderlabs.com)
[](https://app.convertkit.com/landing_pages/243312)> The Glider Labs SSH server package is dope. —[@bradfitz](https://twitter.com/bradfitz), Go team member
This Go package wraps the [crypto/ssh
package](https://godoc.org/golang.org/x/crypto/ssh) with a higher-level API for
building SSH servers. The goal of the API was to make it as simple as using
[net/http](https://golang.org/pkg/net/http/), so the API is very similar:```go
package mainimport (
"github.com/gliderlabs/ssh"
"io"
"log"
)func main() {
ssh.Handle(func(s ssh.Session) {
io.WriteString(s, "Hello world\n")
})log.Fatal(ssh.ListenAndServe(":2222", nil))
}```
This package was built by [@progrium](https://twitter.com/progrium) after working on nearly a dozen projects at Glider Labs using SSH and collaborating with [@shazow](https://twitter.com/shazow) (known for [ssh-chat](https://github.com/shazow/ssh-chat)).## Examples
A bunch of great examples are in the `_examples` directory.
## Usage
[See GoDoc reference.](https://godoc.org/github.com/gliderlabs/ssh)
## Contributing
Pull requests are welcome! However, since this project is very much about API
design, please submit API changes as issues to discuss before submitting PRs.Also, you can [join our Slack](http://slack.gliderlabs.com) to discuss as well.
## Roadmap
* Non-session channel handlers
* Cleanup callback API
* 1.0 release
* High-level client?## Sponsors
Become a sponsor and get your logo on our README on Github with a link to your site. [[Become a sponsor](https://opencollective.com/ssh#sponsor)]
## License
[BSD](LICENSE)