You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
James Mills e09d80090a
Update to v7.0.4 of github.com/glycerine/xcryptossh
3 weeks ago
_examples change pty repo into github.com/creack/pty as the origin one is archievd (#139) 7 months ago
LICENSE more docs, license, readme. 5 years ago
README.md Update README.md (#135) 2 years ago
agent.go Ported to use github.com/glycerine/xcryptossh 3 weeks ago
circle.yml Add go mod files (#153) 3 months ago
conn.go Fix connection kill, when IdleTimeout given without setting MaxTimeout. 3 years ago
context.go Ported to use github.com/glycerine/xcryptossh 3 weeks ago
context_test.go Support for local port forwarding (#38) 4 years ago
doc.go Remote forwarding (#88) 3 years ago
example_test.go contexts (#29) 5 years ago
go.mod Update to v7.0.4 of github.com/glycerine/xcryptossh 3 weeks ago
go.sum Update to v7.0.4 of github.com/glycerine/xcryptossh 3 weeks ago
options.go Ported to use github.com/glycerine/xcryptossh 3 weeks ago
options_test.go Fix broken tests with missing Halter in Config 3 weeks ago
server.go Ported to use github.com/glycerine/xcryptossh 3 weeks ago
server_test.go Update AddHostKey to avoid always appending 2 years ago
session.go Fix broken tests with missing Halter in Config 3 weeks ago
session_test.go Fix broken tests with missing Halter in Config 3 weeks ago
ssh.go Ported to use github.com/glycerine/xcryptossh 3 weeks ago
ssh_test.go fix test 5 years ago
tcpip.go Ported to use github.com/glycerine/xcryptossh 3 weeks ago
tcpip_test.go Ported to use github.com/glycerine/xcryptossh 3 weeks ago
util.go Ported to use github.com/glycerine/xcryptossh 3 weeks ago
wrap.go Ported to use github.com/glycerine/xcryptossh 3 weeks ago

README.md

gliderlabs/ssh

GoDoc CircleCI Go Report Card OpenCollective Slack Email Updates

The Glider Labs SSH server package is dope. —@bradfitz, Go team member

This Go package wraps the crypto/ssh package with a higher-level API for building SSH servers. The goal of the API was to make it as simple as using net/http, so the API is very similar:

 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 after working on nearly a dozen projects at Glider Labs using SSH and collaborating with @shazow (known for ssh-chat).

Examples

A bunch of great examples are in the _examples directory.

Usage

See GoDoc reference.

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 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]

License

BSD