fork of ssh for access of stuff
Go to file
2017-07-26 14:14:12 -05:00
_examples server: timeouts and context canceling on closed connections (#46) 2017-07-24 16:25:45 -05:00
agent.go agent forwarding support (#31) 2017-04-14 14:47:40 -05:00
circle.yml update config for CircleCI 2.0 (#39) 2017-04-29 00:11:02 -05:00
conn.go server: timeouts and context canceling on closed connections (#46) 2017-07-24 16:25:45 -05:00
context_test.go Support for local port forwarding (#38) 2017-04-28 17:54:12 -05:00
context.go server: timeouts and context canceling on closed connections (#46) 2017-07-24 16:25:45 -05:00
doc.go more docs, license, readme. 2016-11-30 16:06:57 -06:00
example_test.go contexts (#29) 2017-03-14 14:13:03 -05:00
LICENSE more docs, license, readme. 2016-11-30 16:06:57 -06:00
options_test.go [proposal] ConnCallback (#36) 2017-07-12 12:27:56 -05:00
options.go [proposal] ConnCallback (#36) 2017-07-12 12:27:56 -05:00
README.md bump quote 2017-07-26 14:14:12 -05:00
server_test.go server: fixing change in test helper api (#42) 2017-05-23 17:42:30 -05:00
server.go server: timeouts and context canceling on closed connections (#46) 2017-07-24 16:25:45 -05:00
session_test.go Support for local port forwarding (#38) 2017-04-28 17:54:12 -05:00
session.go Added LocalAddr() to session interface (#48) 2017-07-20 17:09:24 -05:00
ssh_test.go fix test 2016-12-18 18:47:50 +01:00
ssh.go [proposal] ConnCallback (#36) 2017-07-12 12:27:56 -05:00
tcpip_test.go Support for local port forwarding (#38) 2017-04-28 17:54:12 -05:00
tcpip.go Support for local port forwarding (#38) 2017-04-28 17:54:12 -05:00
util.go fixed/finished basic pty support, added an example, and included tests (#25) 2017-02-15 18:08:25 -06:00
wrap.go contexts (#29) 2017-03-14 14:13:03 -05:00

gliderlabs/ssh

GoDoc CircleCI Go Report Card OpenCollective Slack Email Updates

This package is dope. It's always refreshing to see nice API design. —@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