From 670f307c43d826bc421c197e3344677eff576e87 Mon Sep 17 00:00:00 2001 From: Boshi Lian Date: Sat, 12 Jan 2019 00:23:15 -0800 Subject: [PATCH] Update README.md --- README.md | 25 ++++++++++++++++++++++--- 1 file changed, 22 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index 6b13bdfc..b33964be 100644 --- a/README.md +++ b/README.md @@ -2,7 +2,8 @@ [![Build Status](https://farmer1992.visualstudio.com/opensources/_apis/build/status/sshpiper?branchName=master)](https://farmer1992.visualstudio.com/opensources/_build/latest?definitionId=15?branchName=master) [![Go Report Card](https://goreportcard.com/badge/github.com/tg123/sshpiper)](https://goreportcard.com/report/github.com/tg123/sshpiper) - +[![Docker Image](https://img.shields.io/docker/pulls/farmer1992/sshpiperd.svg)](https://hub.docker.com/r/farmer1992/sshpiperd) +[![Beerpay](https://beerpay.io/tg123/sshpiper/badge.svg)](https://beerpay.io/tg123/sshpiper) SSH Piper works as a proxy-like ware, and route connections by `username`, `src ip` , etc. @@ -124,10 +125,12 @@ Permission denied (publickey). sshpiper provides 3 pluginable components to highly customize your piper - * [Upstream Driver](#upstream-Driver---upstream-driver=)) + * [Upstream Driver](#upstream-Driver---upstream-driver) * [Additional Challenge](#additional-challenge---challenger-driver) * [Auditor](#auditor-for-pipes---auditor-driver) + `sshpiperd daemon -h` to learn more + ### Upstream Driver (`--upstream-driver=`) Upstream driver helps sshpiper to find which upstream host to connect and how to connect. @@ -136,8 +139,12 @@ For example, you can change the username when connecting to upstream sshd by con #### [Workding Directory](sshpiperd/upstream/workingdir/README.md) +Working Dir is a /home-like directory. SSHPiperd read files from workingdir/[username]/ to know upstream's configuration. + #### [Database Driver](sshpiperd/upstream/database/README.md) +Database upstream driver connected to popular databases, such as mysql, pg or sqlite etc to provide upstream's information. + #### How to do public key authentication when using sshpiper During SSH publickey auth, [RFC 4252 Section 7](http://tools.ietf.org/html/rfc4252#section-7), @@ -148,7 +155,8 @@ However, sshpiper actually holds two ssh connection, and it is doing what `the m the two ssh connections' `session_id` will never be the same, because they are hash of the shared secret. [RFC 4253 Section 7.2](http://tools.ietf.org/html/rfc4253#section-7). -To support publickey auth, sshpiper will modify the `sig` using a private key (`id_rsa`) in the `workingdir/[username]/`. +To support publickey auth, sshpiper will modify the `sig` using a private key provided by upstream driver. +e.g. (`id_rsa`) in the `workingdir/[username]/`. How this work @@ -223,6 +231,7 @@ This is useful when you want use publickey and something like [google-authentica ### Auditor for pipes (`--auditor-driver=`) +Auditor provides hook for messages transfered by SSH Piper which cloud log messages onto disks or filter some specific message on the fly. #### SSH Session logging (`--auditor-driver=typescript-logger`) @@ -246,3 +255,13 @@ This is useful when you want use publickey and something like [google-authentica $ scriptreplay -t 1472847798.timing 1472847798.typescript # will replay the ssh session ``` + +## Manage pipes with sshpiper command + +SSH Piper comes with tools to list/add/remove pipes. + +`sshpiperd pipe -h` to learn more. + +## License +MIT +