connect-and-execute

#!/usr/bin/env python
# coding: utf8
import os
os.system('cls')

#Connexion à un serveur distant en SSH et execution de commande via des arguments du script.


import paramiko 
import requests
import argparse


parser = argparse.ArgumentParser()
parser.add_argument("-i", "--ip",
                    dest="ip",
                    help="L'ip à requeter",
                    type=str
                    )
parser.add_argument("-p", "--port",
                    dest="port",
                    help="Le port à requeter",
                    type=int
)
parser.add_argument("-s", "--service",
                    dest="service",
                    help="Le service à requeter",
                    type=str
)


args = parser.parse_args()
argsdir = dir(args)
# print(argsdir)

SERVER = '192.168.0.114'
PORT = '22'
USER = 'thomas'
KEY_PATH = '~/.ssh/id_rsa.pub'
PASSWORD = "thomas"

ssh_cnx = paramiko.SSHClient()

# ajout automatique aux serveurs connus
ssh_cnx.set_missing_host_key_policy(paramiko.AutoAddPolicy())

# print(args.ip)
# print(args.port)
# print(args.service)

# ssh_cnx.connect(hostname=SERVER, port=PORT, username=USER, key_filename=KEY_PATH)
#ssh_cnx.connect(hostname=SERVER, port=PORT, username=USER, password =PASSWORD)
# ssh_cnx.connect(hostname=args.ip, port=PORT, username=USER, password =PASSWORD)
ssh_cnx.connect(hostname=args.ip, port=args.port, username=USER, password =PASSWORD)

ssh_stdin, ssh_stdout, ssh_stderr = ssh_cnx.exec_command('ls /tmp')
print(f"output : {ssh_stdout.readlines()}")
error = ssh_stderr.read()
print(f"err : {error} ") 

ssh_stdin, ssh_stdout, ssh_stderr = ssh_cnx.exec_command('systemctl status apache2')
print(f"output : {ssh_stdout.readlines()}")
error = ssh_stderr.read()
print(f"err : {error} ") 

ssh_stdin2, ssh_stdout, ssh_stderr = ssh_cnx.exec_command('systemctl status ssh | grep Active')
print(f"output : {ssh_stdout.readlines()}")
error = ssh_stderr.read()
print(f"err : {error} ") 

ssh_stdin2, ssh_stdout, ssh_stderr = ssh_cnx.exec_command('systemctl status ' + args.service + ' | grep Active')
print(f"output : {ssh_stdout.readlines()}")
error = ssh_stderr.read()
print(f"err : {error} ")