gitgnu / gnu_sshproxy Goto Github PK
View Code? Open in Web Editor NEWLicense: GNU General Public License v2.0
License: GNU General Public License v2.0
============== About sshproxy ============== Author: David Guerizec <[email protected]> Contributor: Pierre-Yves Roffes <[email protected]> Contributor: Erick Michau <[email protected]> About sshproxy ============== sshproxy is a pure python implementation of an ssh proxy. It allows users to connect to remote sites without having to remember the password or key of the remote sites. Why would I need it ? ===================== There are three possible scenarios which could possibly interest you. If you have other scenarios, please send them to me ([email protected]) or to the list ([email protected]). Scenario 1: Solo mode --------------------- If you have a lot of remote servers to administrate, this will relieve you from doing the boring task of opening your password database, copy-paste the IP address, copy-paste the password to connect to a remote site. You only have to know one password (to connect to the proxy) and sshproxy will do the rest for you. You can also connect to the proxy with a public key, thus allowing yourself to forgot about any password. Scenario 2: Team mode --------------------- Another, more interresting, example: if you're in charge of a lot of remote sites, and your company has several administrators to do some remote administration tasks, then no user will ever need to know the password or key of the servers he administrates. When an employee quit your company, you just have to delete his entry in the proxy database, and he will never be able to connect to the remote site. This will protect your business against turn-over. Scenario 3: Forwarding mode --------------------------- You want to allow some people to connect through your firewall to a range of server inside your DMZ or LAN, but you don't want to open one port for each server. What you can do is open the sshproxy port (default 2242), and setup the password database to proxy each external user to it's own desktop, or create groups of users allowed to connect to your DMZ servers. How does it work ? ================== sshproxy is a daemon sitting on one of your server in your LAN or DMZ. The user connect to it with an ssh client, and the proxy will authenticate her and check if she's allowed to connect to the remote site. If she's allowed, the proxy will do the connection to the remote site, using the password or key stored in its database, and will then connect the client side channels to the server side channels. The user is then connected to the remote side, and can do shell commands and/or scp tranfers almost transparently. What else do I need to make it work? ==================================== sshproxy requires: - python >=2.3 - paramiko >=1.5.3 - pycrypto (needed for paramiko) - mysql-python How do I install it ? ===================== See the file INSTALL at the root directory of the sshproxy package. How do I use it ? ================= Here is an overview of a normal ssh session:: me@myhost $ ssh -tp 2242 me@proxy remote-site root@remote-site # ... doing some administration commands ... root@remote-site # exit me@myhost $ Here is the same with the pssh shell wrapper:: me@myhost $ pssh remote-site root@remote-site # ... doing some administration commands ... root@remote-site # exit me@myhost $ You can also execute remote commands:: me@myhost $ pssh remote-site uname -a nova.wallix.com me@myhost $ Here is an example of an scp transfert:: me@myhost $ scp /etc/issue me@proxy:root@remote-site:/etc/issue.new me@myhost $ And the same with the pscp shell wrapper:: me@myhost $ pscp /etc/issue remote-site:/etc/issue.new me@myhost $ How much does it cost ? ======================= sshproxy is a free software licenced under the GPL v2.0. As such it's free, and you can use it as long as you want for free. -- David Guerizec <[email protected]>
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.