added some code to the service classes; no working code; mostly boilerplate...
This commit is contained in:
parent
d9bc34f704
commit
e9be20ecf0
5 changed files with 117 additions and 35 deletions
|
|
@ -1,5 +1,43 @@
|
|||
"""
|
||||
The ssh service in pure Python.
|
||||
The ssh service This is for executing remote shell commands and retrieve the output.
|
||||
|
||||
This service is using paramiko (http://www.lag.net/paramiko/).
|
||||
"""
|
||||
|
||||
# http://www.lag.net/paramiko/
|
||||
import paramiko
|
||||
import pprint
|
||||
import os
|
||||
from service import Service
|
||||
|
||||
|
||||
class SshService(Service):
|
||||
def __init__(self, parser, log, **kwargs):
|
||||
super(Service, self).__init__(parser)
|
||||
if "command" in kwargs:
|
||||
self.command = kwargs["command"]
|
||||
else:
|
||||
log.w("There is no command")
|
||||
|
||||
def execute(self):
|
||||
path = os.path.join(os.environ['HOME'], '.ssh', 'id_rsa')
|
||||
key = paramiko.RSAKey.from_private_key_file(path)
|
||||
|
||||
client = paramiko.SSHClient()
|
||||
client.get_host_keys().add('hanez.org', 'ssh-rsa', key)
|
||||
pprint.pprint(client._host_keys)
|
||||
|
||||
client.connect('hanez.org', username='hanez')
|
||||
|
||||
#self.command.call() ist dann das:
|
||||
stdin, stdout, stderr = client.exec_command('ls')
|
||||
for line in stdout:
|
||||
print '... ' + line.strip('\n')
|
||||
client.close()
|
||||
|
||||
|
||||
# def main():
|
||||
# # service = SshService(parser, log, command='uptime')
|
||||
# return
|
||||
#
|
||||
# if __name__ == "__main__":
|
||||
# main()
|
||||
Loading…
Add table
Add a link
Reference in a new issue