fork of ssh for access of stuff
Go to file
2020-02-13 21:01:06 -06:00
_examples Update remoteforward example to follow configurable handlers feature 2019-06-19 10:59:27 -07:00
agent.go small api updates (#69) 2018-01-09 12:15:16 -06:00
circle.yml Update CircleCI config to test 1.9 and the latest 2018-05-07 16:08:31 -07:00
conn.go Fix connection kill, when IdleTimeout given without setting MaxTimeout. 2019-03-31 09:59:03 -07:00
context_test.go Support for local port forwarding (#38) 2017-04-28 17:54:12 -05:00
context.go Add SessionPolicyCallback (#80) 2019-02-22 20:11:43 -06:00
doc.go Remote forwarding (#88) 2018-11-13 10:04:02 -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 Passes Context into ConnCallback 2019-10-09 09:17:49 -05:00
options.go Switch to using gossh.ParsePrivateKey when reading PrivateKeys (#61) 2017-11-01 18:11:58 -05:00
README.md Update README.md (#135) 2020-02-13 21:01:06 -06:00
server_test.go Update AddHostKey to avoid always appending 2019-10-16 10:07:55 -07:00
server.go Start cleaning up config to fix race conditions 2019-10-16 10:27:39 -07:00
session_test.go Make TestSignals a bit more bulletproof 2019-10-16 11:22:57 -07:00
session.go Merge pull request #110 from gliderlabs/belak/raw-cmd 2019-06-19 20:22:20 -07:00
ssh_test.go fix test 2016-12-18 18:47:50 +01:00
ssh.go Passes Context into ConnCallback 2019-10-09 09:17:49 -05:00
tcpip_test.go Support port forwarding of literal IPv6 addresses (#85) 2018-09-23 19:41:38 -05:00
tcpip.go Fix ForwardedTCPHandler by switching to a pointer receiver 2019-06-19 01:45:13 -07:00
util.go Remove Pty minimum size requirement 2019-03-08 11:26:50 -08:00
wrap.go contexts (#29) 2017-03-14 14:13:03 -05:00

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