Git Product home page Git Product logo

reverse-ssh-manager's Introduction

Reverse-ssh-manager

Reverse-ssh-manager allows to manage reverse ssh connections through a web application.

It also provide a Dockerfile to easily run Reverse-ssh-manager in a docker container.

Install

You can install reverse-ssh-manager in a virtualenv (with virtualenvwrapper and pip):

$ mkvirtualenv reverse-ssh-manager
(reverse-ssh-manager) $ pip install reverse-ssh-manager

Or if you want to contribute some patches to reverse-ssh-manager:

$ git clone [email protected]:bbinet/reverse-ssh-manager.git
$ cd reverse-ssh-manager/
$ mkvirtualenv reverse-ssh-manager
(reverse-ssh-manager) $ python setup.py develop

Then, do the following steps:

(reverse-ssh-manager) $ pip install nodeenv
(reverse-ssh-manager) $ nodeenv -p --prebuilt
(reverse-ssh-manager) $ npm install -g bower gulp
(reverse-ssh-manager) $ npm install
(reverse-ssh-manager) $ bower install
(reverse-ssh-manager) $ gulp

Configure

Create a configuration file that looks like:

$ cat path/to/config.cfg

[bottle]
host = 0.0.0.0
port = 8080
debug = true

Note that the [bottle] section is optional, the defaults are:

[bottle]
host = localhost
port = 8888
server = wsgiref
debug = false

Run

Run the reverse-ssh-manager server by running the following command:

(reverse-ssh-manager) $ reverse-ssh-manager path/to/config.cfg

Then visit http://localhost:8888/, it should display a web interface to manage reverse ssh tunnels.

Release

To make a new release, do the following steps:

(reverse-ssh-manager) $ npm install
(reverse-ssh-manager) $ bower install
(reverse-ssh-manager) $ gulp
(reverse-ssh-manager) $ deactivate
$ vi setup.py  # bump version
$ git add setup.py
$ git commit -m "bump version to X.X.X"
$ git tag vX.X.X
$ python setup.py sdist bdist_wheel upload
$ git push --tags

Docker

Build

To create the image bbinet/reverse-ssh-manager, execute the following command:

docker build -t bbinet/reverse-ssh-manager .

You can now push the new image to the public registry:

docker push bbinet/reverse-ssh-manager

Run

Then, when starting your rsm container, you will want to bind ports 22 and 80 from the rsm container to a host external port.

You also need to provide a read-only authorized_keys file that will be use to allow some users to create ssh tunnels using their public ssh key.

Note that psutil won't be able to get pids of running ssh connection unless you specify option --cap-add SYS_PTRACE with docker run.

If you want to override ssh HostKey file, you can use the HOST_KEY environment variable to give the path to the ssh host key you can provide through a docker volume.

For example:

$ docker pull bbinet/reverse-ssh-manager

$ docker run --name rsm
-v authorized_keys:/etc/ssh/authorized_keys:ro -v own_ssh_host_rsa_key:/etc/ssh/own_ssh_host_rsa_key:ro -e HOST_KEY="/etc/ssh/own_ssh_host_rsa_key" -p 22:22 --cap-add SYS_PTRACE bbinet/reverse-ssh-manager

reverse-ssh-manager's People

Contributors

bbinet avatar silex avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.