Python Remote Commands
- PyStorage
Python Remote Commands toolkit
- Copyright
Copyright (c) 2016 Bruno Costa, Kairo Araujo <coder@marreta.org>
- License
BSD
- Development
Just run the PIP
$ sudo pip install pyrcmd
Download the pyrcmd from PIP or from Marreta Github http://github.com/marreta-sources/pyrcmd/ and uncompress
$ python setup.py install
At the moment the pyrcmd supports commands over SSH.
Attributes:
- Address
IP or Hostname to client server
- User
User used to connect using ssh
- Passwd
Password used to connect to ssh
- timeout
Timeout to Connect (Hostname is valid and has route to host), default value for timeout is 30
Return:
- returns
Dictionary (Array) with Return Code, Std output and Std Error
Exceptions:
- AuthFailure
Client to Server Problem with Authentication
- BadHostKey
Host Key does not match
- SshProtocol
Problem of SSH2 Negotiation
- TimeOut
Timeout while trying to connect to a valid address
- TimeoutExecuting
Timeout while trying to execute command.
- Sample:
Simple use:
>>> import pyrcmd >>> remote = pyrcmd.SSH('192.168.0.1', 'foobar', 'Password1') >>> remote_out = remote.execute('ls') >>> print remote_out {'return_code': 0, 'stderr': '', 'stdout': 'total 24ndrwx------ 3 kairo users 512 Jan 30 11:31 .ndrwx------ 10 kairo users 512 Jan 30 11:30 ..n-rw------- 1 kairo users 0 Jan 30 11:30 foobar.txtndrwx------ 2 kairo users 512 Jan 30 11:31 marretinhan'} >>> print remote_out['return_code'] 0 >>> print remote_out['stdout'] total 24 drwx------ 3 kairo users 512 Jan 30 11:31 . drwx------ 10 kairo users 512 Jan 30 11:30 .. -rw------- 1 kairo users 0 Jan 30 11:30 foobar.txt drwx------ 2 kairo users 512 Jan 30 11:31 marretinha
Working with exceptions
>>> server = pyrcmd.SSH('192.168.0.1', 'foobar', 'i dont remember', timeout=10) >>> try: ... server.execute('whoami') ... except ValueError, exception_error: ... print exception_error ... AuthFailure
- Make the for from https://github.com/marreta-sources/pyrcmd
- Change the code
- Test the code
- First check all the PEP8 recommendations and possible spells.
- Run tests with tox
- Create a http://travis-ci.com for your fork and verify the tests
- Submit your code doing a pull request
1. try to give us details about the code. We are newbies with Python and it will be help us.