Skip to main content

An easy to use libssh wrapper to execute commands on a remote server via SSH with Python

Project description

Build Status Coverage Status Documentation

pystassh

An easy to use libssh wrapper to execute commands on a remote server via SSH with Python.

Installation

Just use pip to install the package:

pip install pystassh

pystassh is working with python 2.7, python 3+ and pypy.

Requirements

pystassh is using libssh to work, you will have to install the library before using pystassh. Only version 0.7.3 was used during the development, but versions 0.5 and above should work fine as well with pystassh. Visit libssh’s official website for more information.

On Debian and Ubuntu:

apt-get install libssh-4

On Fedora:

dnf install libssh

Examples

Running simple commands:

>>> from pystassh import Session
>>> with Session('remote_host.org', username='foo', password='baz') as ssh_session:
...     res = ssh_session.execute('whoami')
>>> res.stdout
'foo'

Handling errors:

>>> from pystassh import Session
>>> with Session('remote_host.org', username='foo', password='baz') as ssh_session:
...     res = ssh_session.execute('whoam')
>>> res.stderr
'bash: whoam : command not found'

Running multiple commands:

>>> from pystassh import Session
>>> with Session('remote_host.org', username='foo', password='baz') as ssh_session:
...     ssh_session.execute('echo "bar" > /tmp/foo')
...     res = ssh_session.execute('cat /tmp/foo')
>>> res.stdout
'bar'

Use a session without a with block:

>>> from pystassh import Session
>>> ssh_session = Session('remote_host.org', username='foo', password='baz')
>>> ssh_session.connect()
>>> res = ssh_session.execute('whoami')
>>> res.stdout
'foo'
>>> ssh_session.disconnect()

Documentation

The complete documentation is available at: http://pystassh.readthedocs.org/en/latest/

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

pystassh-1.0.tar.gz (6.7 kB view hashes)

Uploaded source

Supported by

AWS AWS Cloud computing Datadog Datadog Monitoring Facebook / Instagram Facebook / Instagram PSF Sponsor Fastly Fastly CDN Google Google Object Storage and Download Analytics Huawei Huawei PSF Sponsor Microsoft Microsoft PSF Sponsor NVIDIA NVIDIA PSF Sponsor Pingdom Pingdom Monitoring Salesforce Salesforce PSF Sponsor Sentry Sentry Error logging StatusPage StatusPage Status page