Puede codificarlo usted mismo usando Paramiko, como se sugirió anteriormente. Alternativamente, puede buscar en Fabric, una aplicación de Python para hacer todas las cosas que preguntó:
Fabric es una biblioteca de Python y una herramienta de línea de comandos diseñada para optimizar la implementación de aplicaciones o la realización de tareas de administración del sistema a través del protocolo SSH. Proporciona herramientas para ejecutar comandos de shell arbitrarios (ya sea como un usuario de inicio de sesión normal o mediante sudo), cargar y descargar archivos, etc.
Creo que esto se ajusta a tus necesidades. Tampoco es una biblioteca grande y no requiere instalación de servidor, aunque tiene dependencias en paramiko y pycrypt que requieren instalación en el cliente.
La aplicación solía estar aquí . Ahora se puede encontrar aquí .
* The official, canonical repository is git.fabfile.org
* The official Github mirror is GitHub/bitprophet/fabric
Hay varios artículos buenos al respecto, aunque debe tener cuidado porque ha cambiado en los últimos seis meses:
Implementar Django con Fabric
Herramientas del hacker moderno de Python: Virtualenv, Fabric y Pip
Implementación simple y fácil con Fabric y Virtualenv
Más tarde: Fabric ya no requiere paramiko para instalar:
$ pip install fabric
Downloading/unpacking fabric
Downloading Fabric-1.4.2.tar.gz (182Kb): 182Kb downloaded
Running setup.py egg_info for package fabric
warning: no previously-included files matching '*' found under directory 'docs/_build'
warning: no files found matching 'fabfile.py'
Downloading/unpacking ssh>=1.7.14 (from fabric)
Downloading ssh-1.7.14.tar.gz (794Kb): 794Kb downloaded
Running setup.py egg_info for package ssh
Downloading/unpacking pycrypto>=2.1,!=2.4 (from ssh>=1.7.14->fabric)
Downloading pycrypto-2.6.tar.gz (443Kb): 443Kb downloaded
Running setup.py egg_info for package pycrypto
Installing collected packages: fabric, ssh, pycrypto
Running setup.py install for fabric
warning: no previously-included files matching '*' found under directory 'docs/_build'
warning: no files found matching 'fabfile.py'
Installing fab script to /home/hbrown/.virtualenvs/fabric-test/bin
Running setup.py install for ssh
Running setup.py install for pycrypto
...
Successfully installed fabric ssh pycrypto
Cleaning up...
Sin embargo, esto es principalmente cosmético: ssh es una bifurcación de paramiko, el responsable de ambas bibliotecas es el mismo (Jeff Forcier, también autor de Fabric), y el responsable de mantenimiento tiene planes de reunir paramiko y ssh con el nombre de paramiko . (Esta corrección a través de pbanka ).