Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/mikespook/sts
STS: Secure Tunnel Server - a configurable and powerful ssh tunnel
https://github.com/mikespook/sts
Last synced: 14 days ago
JSON representation
STS: Secure Tunnel Server - a configurable and powerful ssh tunnel
- Host: GitHub
- URL: https://github.com/mikespook/sts
- Owner: mikespook
- License: mit
- Created: 2015-02-02T09:05:27.000Z (almost 10 years ago)
- Default Branch: master
- Last Pushed: 2015-05-26T14:16:52.000Z (over 9 years ago)
- Last Synced: 2024-06-20T00:28:08.951Z (5 months ago)
- Language: Go
- Homepage:
- Size: 1.85 MB
- Stars: 1
- Watchers: 4
- Forks: 1
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# STS
STS: Secure Tunnel Server - a configurable and powerful ssh tunnel server.
# Motivation
# Installation
$ go get github.com/mikespook/sts
# Configuration
Config file should be in YAML format.
Here is an example:
```yaml
addr: 127.0.0.1:2222
auth:
anonymous: false
password: static://123456
pubkey: file://id_rsa.pub
keys: [ id_rsa ]
log:
file:
level: all
pwd: ../misc
```* addr: stsd will bind to this address (and port)
* auth: See below
* keys: Private keys used by server
* log: See below
* pwd: Current working directory## Authorization
stsd has three auth options: anonymous, password and pubkey.
When `anonymous` is set to `I Understand the Risks`(DANGER!!!), other options will be ignored and there will be no authenticated mechanism to stsd. `password` and `pubkey` should be one of following formats:
* `static://[string]`, the string will be used as password/pubkey directly;
* `file://[file]`, the file will be read and its contents will be used as password/pubkey;
* `rpc://[url]`, connect to a rpc server witch can serve two remote calls: 1) STS.PasswordAuth 2) STS.PublicKeyAuth. And "url" should be in form `(tcp|http)://[ip]:[port]/[path]`.## Log
In the default way, the output of log will print to stdout. In case of `file` is a legal path, Log will output records to the file. Levels can be combined with `|` from: `error`, `warning`, `message` and `debug`. Also, there are two magic values `all` and `none` to display all levels or nothing.
# Usage
Running stsd:
$ stsd -config=../misc/config.yaml
Establish local ssh tunnel proxy:
$ ssh -p 2222 127.0.0.1 -D18081
Using SOCKS5 proxy:
$ curl --socks5 127.0.0.1:18081 http://www.mikespook.com
# TODO
* Session status: connections, R/W bytes, start/established time
* Server status: active clients, R/W bytes, start/established time# Contributors
(_Alphabetic order_)
* [Xing Xing][blog] <> [@Twitter][twitter]# Open Source - MIT Software License
See [LICENSE][license].
[blog]: http://mikespook.com
[twitter]: http://twitter.com/mikespook
[license]: LICENSE