Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/gliderlabs/ssh

Easy SSH servers in Golang
https://github.com/gliderlabs/ssh

golang golang-package ssh ssh-server

Last synced: 3 days ago
JSON representation

Easy SSH servers in Golang

Awesome Lists containing this project

README

        

# gliderlabs/ssh

[![GoDoc](https://godoc.org/github.com/gliderlabs/ssh?status.svg)](https://godoc.org/github.com/gliderlabs/ssh)
[![CircleCI](https://img.shields.io/circleci/project/github/gliderlabs/ssh.svg)](https://circleci.com/gh/gliderlabs/ssh)
[![Go Report Card](https://goreportcard.com/badge/github.com/gliderlabs/ssh)](https://goreportcard.com/report/github.com/gliderlabs/ssh)
[![OpenCollective](https://opencollective.com/ssh/sponsors/badge.svg)](#sponsors)
[![Slack](http://slack.gliderlabs.com/badge.svg)](http://slack.gliderlabs.com)
[![Email Updates](https://img.shields.io/badge/updates-subscribe-yellow.svg)](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 main

import (
"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)