Вы можете написать код самостоятельно, используя Paramiko, как было предложено выше. В качестве альтернативы вы можете заглянуть в Fabric, приложение на Python для выполнения всего, о чем вы спрашивали:
Fabric - это библиотека Python и инструмент командной строки, предназначенный для упрощения развертывания приложений или выполнения задач системного администрирования через протокол SSH. Он предоставляет инструменты для выполнения произвольных команд оболочки (либо как обычный пользователь, либо через sudo), загрузки и скачивания файлов и т. Д.
Думаю, это соответствует вашим потребностям. Это также небольшая библиотека и не требует установки сервера, хотя у нее есть зависимости от paramiko и pycrypt, которые требуют установки на клиенте.
Раньше здесь было приложение . Теперь его можно найти здесь .
* The official, canonical repository is git.fabfile.org
* The official Github mirror is GitHub/bitprophet/fabric
Об этом есть несколько хороших статей, но будьте осторожны, потому что за последние шесть месяцев он изменился:
Развертывание Django с помощью Fabric
Инструменты современного Python-хакера: Virtualenv, Fabric и Pip
Простое и легкое развертывание с помощью Fabric и Virtualenv
Позже: Fabric больше не требует установки paramiko:
$ 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...
Однако это в основном косметический характер: ssh - это форк paramiko, сопровождающий для обеих библиотек один и тот же (Джефф Форсьер, также автор Fabric), а сопровождающий планирует воссоединить paramiko и ssh под именем paramiko . (Это исправление через pbanka .)