From 54850ec97c579b16de5205668ef154ed662a6617 Mon Sep 17 00:00:00 2001 From: jonnybravo Date: Mon, 22 Jan 2024 12:52:00 +0100 Subject: [PATCH] commit message from python script --- ssh_with_sub/main.py | 41 ++++++++++++++++++++++++++++------------- ssh_with_sub/test.csv | 5 +++-- 2 files changed, 31 insertions(+), 15 deletions(-) diff --git a/ssh_with_sub/main.py b/ssh_with_sub/main.py index 49188a4..ce20284 100755 --- a/ssh_with_sub/main.py +++ b/ssh_with_sub/main.py @@ -1,6 +1,9 @@ #!/usr/bin/env python3.10 from subprocess import Popen, PIPE from csv import DictReader +import os, socket + + def read_csv(csv_file = str): with open(csv_file, newline='') as csv: @@ -8,32 +11,44 @@ def read_csv(csv_file = str): server_liste, user_liste = [] , [] for row in read_server: user_liste.append(row['user']) - server_liste.append(row['\ufeffserver']) - + server_liste.append(row['\ufeffserver']) return { 'server' : server_liste, 'user' : user_liste } -def ssh_connection(con_server = str): +def ssh_connection(con_server = str, bash_script = """ls -lisaR /home; apt list --installed"""): with Popen(['ssh', '-T', con_server], stdin=PIPE, stdout=PIPE, stderr=PIPE, universal_newlines=True) as p: - output, error = p.communicate(""" - ls -lisaR /home - apt list --installed - """) + output, error = p.communicate(bash_script) print(output) print(error) print(p.returncode) - - - +def ssh_check(con_server = str, check_port = 22): + response = os.system("ping -c 1 " + con_server + '>& /dev/null') + if response == 0: + with socket.socket(socket.AF_INET, socket.SOCK_STREAM) as s: + return s.connect_ex((con_server, check_port)) == 0 + else: + return False + if __name__ == "__main__": - for count in range(0,len(read_csv("test.csv")['server'])): - print("Server:", read_csv("test.csv")['server'][count], "User:", read_csv("test.csv")['user'][count], sep=" ") - ssh_connection(con_server=read_csv("test.csv")['server'][count]) + script_folder = os.path.dirname(os.path.realpath(__file__)) + server_csv = script_folder + os.sep + "test.csv" + + for count in range(0,len(read_csv(server_csv)['server'])): + servername = read_csv(server_csv)['server'][count] + print(servername, "verbindng wird geprüft...",sep=' ') + if ssh_check(con_server=servername) is True: + print(servername, "erreichbar...", sep=' ') + else: + print(servername, "nicht erreichbar oder kein ssh!!", sep=' ') + #if ssh_check(con_server=servername) is True: + # print(servername, "port offen") + #print("Server:", read_csv(server_csv)['server'][count], "User:", read_csv(server_csv)['user'][count], sep=" ") + #ssh_connection(con_server=read_csv("test.csv")['server'][count]) diff --git a/ssh_with_sub/test.csv b/ssh_with_sub/test.csv index cc04d7a..b647fee 100755 --- a/ssh_with_sub/test.csv +++ b/ssh_with_sub/test.csv @@ -1,6 +1,7 @@ -server,user, command +server,user,command, ubuntu,jonnybravo1, -debian,jonnybravo2, +debian2,jonnybravo2, 3server,beuntzer2, klana,beuntzer23, bababa,dkdkd, +ras-dan-01,jonnybravo,