PySSH
TO DO
http://pyssh.sourceforge.net/


[ ] pyssh.py uses pty.fork() to accomplish its job. Unfortunately, that
returns one file descriptor (fd) for the child ssh process and that fd
returns both the input and output of the child. To have a more reliable
(and efficient) solution, we need to either get separate file
descriptors (stdin, stdout, stderr?) or turn off the echoing of stdin.

[ ] pyssh.py uses time.sleep() in key places to make things work, but
this feels like voodoo. Especially since sleeping for too little time
(less than .1 seconds on some systems) breaks the module.

[ ] SSHController opens a new connection for each command instead of
reusing the connection as was originally intended. If we could solve the
"stdin mixed with stdout" problem described above, this job would be
easier.

[ ] There is run() for ssh, but no copy() for scp.

[ ] The docs do not mention SSHController.

[ ] The docs Release Instructions are incomplete.

[ ] Get SF to chmod a+x pyssh.py and add the #!/usr/bin/env python line.

[ ] The pyssh module should have a __ver__ which is synced with setup.py.

[ ] automated unit testing
