DreamSSH 0.2

DreamSSH Server
DreamSSH is a highly configurable pure-Python, Twisted-based SSH server.

Install

You can install from PyPI, which will give you the latest released (hopefully stable) version of the software:

 sudo pip install dreamssh

If you like living on the edge, you can install from the github master branch:

 sudo pip install https://github.com/dreamhost/dreamssh/zipball/master

Finally, you can just get the code itself:

 git clone https://github.com/dreamhost/dreamssh.git

Dependencies

If you used pip to install DreamSSH, then you will have the necessary libraries installed. If you will be running from source code, you'll need to do the following:

 sudo pip install pyasn1
 sudo pip install PyCrypto
 sudo pip install twisted


Once the dependencies are installed, you'll need to generate the keys for use by the server:

 twistd dreamssh keygen

Running

Once you have DreamSSH installed, interacting with the server is as easy as the following:

 twistd dreamssh

That will run in daemonized mode. If you'd like to run it in the foreground and watch the log output to stdout, just do:

twistd -n dreamssh

To log into the shell, use this command:

 twistd dreamssh shell

If you'd like to try out the alternate "toy" shell:

 twistd dreamssh --interpreter=echo

When you're ready to shut it down:

 twistd dreamssh stop

For those who have a clone of the git repo, there are development convenience make targets:

 make keygen
 make daemon
 make run
 make shell
 make stop


Using

When you log into the Python shell:

 twistd dreamssh shell

You are greeted with something that looks like this:

:>>
:
: Welcome to
:
:________ ____________________ __
:___ __ \_________________ _______ _____ ___/_ ___/__ / / /
:__ / / /_ ___/ _ \ __ `/_ __ `__ \____ \_____ \__ /_/ /
:_ /_/ /_ / / __/ /_/ /_ / / / / /___/ /____/ /_ __ /
:/_____/ /_/ \___/\__,_/ /_/ /_/ /_//____/ /____/ /_/ /_/
:
:
: You have logged into a DreamSSH Server.
: Type 'ls()' or 'dir()' to see the objects in the current namespace.
:
: Enjoy!
:
:>>


If you follow the hints given in the banner, you can get a listing of available objects with the following command:

:>> ls()
 __builtins__ - data
 app - dreamssh.shell.pythonshell.CommandAPI.app
 banner - dreamssh.shell.pythonshell.CommandAPI.banner
 clear - dreamssh.shell.pythonshell.CommandAPI.clear
 config - dreamssh.config
 exit - dreamssh.shell.pythonshell.CommandAPI.exit
 info - dreamssh.shell.pythonshell.CommandAPI.info
 ls - dreamssh.shell.pythonshell.CommandAPI.ls
 os - os
 pprint - pprint.pprint
 quit - dreamssh.shell.pythonshell.CommandAPI.quit
 services - data
 sys - sys


If you opt for the 'echo' shell:

 twistd dreamssh --interpreter=echo

Then executing any command will looks something like this:

:>> execute any command
input = execute any command, filename = < console >


The echo shell is intended to provide insight or a starting point for developers who want to implement their own shell their users can ssh into.

last updated on:
June 2nd, 2012, 3:44 GMT
price:
FREE!
homepage:
github.com
license type:
MIT/X Consortium License 
developed by:
Duncan McGreggor
category:
ROOT \ System \ Shells
DreamSSH
Download Button

In a hurry? Add it to your Download Basket!

user rating

UNRATED
0.0/5
 

0/5

Rate it!

Add your review!

SUBMIT