diff --git a/add_start_ssh_agent_on_kde/Was soll passieren.txt b/add_start_ssh_agent_on_kde/Was soll passieren.txt deleted file mode 100755 index c012d8e..0000000 --- a/add_start_ssh_agent_on_kde/Was soll passieren.txt +++ /dev/null @@ -1,40 +0,0 @@ -Ordner anlegen - -mkdir -p ~/.config/autostart-scripts/ ok -mkdir -p ~/.config/plasma-workspace/shutdown/ ok -mkdir -p ~/.config/plasma-workspace/env/ ok - -Skript erstelle : ~/.config/autostart-scripts/ssh-add.sh - -#! /bin/zsh -sleep 10 -SSH_ASKPASS=/usr/bin/ksshaskpass -export SSH_ASKPASS -ssh-add ~/.ssh/id_ed25519 - -Skript erstellen ~/.config/plasma-workspace/shutdown/ssh-agent-shutdown.sh - -#!/bin/sh -[ -z "$SSH_AGENT_PID" ] || eval "$(ssh-agent -k)" - -Skript erstelle ~/.config/plasma-workspace/env/ssh-agent-startup.sh - -#!/bin/sh -[ -n "$SSH_AGENT_PID" ] || eval "$(ssh-agent -s)" -SSH_ASKPASS=/usr/bin/ksshaskpass -export SSH_ASKPASS - -Rechte zum ausführen - -chmod +x ~/.config/autostart-scripts/ssh-add.sh -chmod +x ~/.config/plasma-workspace/shutdown/ssh-agent-shutdown.sh -chmod +x ~/.config/plasma-workspace/env/ssh-agent-startup.sh - - -sudo vi /etc/profile.d/ksshaskpass.sh - -#!/bin/bash -export SSH_ASKPASS=/usr/bin/ksshaskpass - -sudo chmod +x /etc/profile.d/ksshaskpass.sh - diff --git a/create_selfsign/selfsing.py b/create_selfsign/selfsing.py new file mode 100644 index 0000000..488ed6e --- /dev/null +++ b/create_selfsign/selfsing.py @@ -0,0 +1,51 @@ +from OpenSSL import crypto +from Crypto.PublicKey import RSA + + +def generate_self_signed_cert(cert_country, cert_state, cert_organization, + cert_locality, cert_organizational_unit, + cert_common_name, valid_days, serial_number): + rsa_key = RSA.generate(2048) + + pk = crypto.load_privatekey(crypto.FILETYPE_PEM, + rsa_key.exportKey('PEM', pkcs=1)) + cert = crypto.X509() + sub = cert.get_subject() + sub.CN = cert_common_name + sub.C = cert_country + sub.ST = cert_state + sub.L = cert_locality + sub.O = cert_organization + + # optional + if cert_organizational_unit: + sub.OU = cert_organizational_unit + + cert.set_serial_number(serial_number) + cert.gmtime_adj_notBefore(0) + cert.gmtime_adj_notAfter(valid_days * 24 * 60 * 60) # Valid for a year + cert.set_issuer(sub) + cert.set_pubkey(pk) + cert.sign(pk, 'sha1') + + cert_text = crypto.dump_certificate(crypto.FILETYPE_PEM, cert) + priv_key_text = rsa_key.exportKey('PEM', pkcs=1) + + return str(cert_text), str(priv_key_text) + + + +if __name__ == "__main__": + test = generate_self_signed_cert(cert_country="DE", cert_state="Dresden", cert_organization="IchAG", cert_locality="Sachsen", cert_organizational_unit="mandan01", cert_common_name="mandan01", valid_days=365, serial_number=12) + privatekey = test[1].rstrip("'").strip("b'") + cert = test[0].rstrip("'").strip("b'") + #print(privatekey) + for key in privatekey.split("\\n"): + with open("testkey", "a") as testcert: + print(key, file=testcert) + for cert_out in cert.split("\\n"): + with open("testcert", "a") as testcert_out: + print(cert_out, file=testcert_out) + + #test2 = "xccj\njdkjd\n" + #print(test2) \ No newline at end of file diff --git a/my_backups/backup_main.py b/my_backups/backup_main.py new file mode 100644 index 0000000..e6aff03 --- /dev/null +++ b/my_backups/backup_main.py @@ -0,0 +1,24 @@ +#! /usr/bin/env python3 + +import os, shutil, dirsync + +backup_folders = [ + os.path.join(os.sep, "home", "jonnybravo", "Projekte", "Schulung_Docker_k8s"), + os.path.join(os.sep, "home", "jonnybravo", "Projekte", "create_wireguard") +] + +dest_backup = os.path.join(os.sep, "home", "jonnybravo", "Projekte", "backup_dest") + +for folder in backup_folders: + try: + add_des_last_folder = dest_backup + os.sep + os.path.split(folder)[1] + if os.path.exists(add_des_last_folder): + output_dirsync = dirsync.sync(sourcedir=folder, targetdir=add_des_last_folder, action='sync') + else: + #full_dest_folder = dest_backup + "/" + last_folder[1] + destination = shutil.copytree(src=folder, dst=add_des_last_folder, dirs_exist_ok=True) + except: + raise PermissionError("Schau dir mal die berechtigungen an da stimmt was nicht") + finally: + output = folder + " wurde angelegt oder gesynct !!!" + print("#" * len(output), output, "#" * len(output), sep="\n") \ No newline at end of file diff --git a/read_all_user/main.py b/read_all_user/main.py new file mode 100644 index 0000000..238da73 --- /dev/null +++ b/read_all_user/main.py @@ -0,0 +1,43 @@ +#!/usr/bin/env python3 + +def read_file(path: str) -> "List of lines": + #f = open(path, 'r') + with open(path, 'r') as f: + # f.read(buflen) - binary read + # f.readline() - 1 Textzeile lesen -> str + # f.readlines - alle Textzeilen lesen ->str + # f ist gleichzeitig Iterator + # 1 möglichkeit + #lines = list(map(lambda s : s.rstrip(), f)) + # 2 möflichkeit + lines = list(map(str.rstrip, f)) + # 3 möglichkeit + #lines = [] + # for line in f.readlines(): + # lines.append(line.rstrip()) + # f.close() + return lines + +def build_userlist(lines) -> "List of user dicts": + result = [] + for line in lines: + result.append(parse_passwd_lines(line)) + return result + +def parse_passwd_lines(line: str) -> "Dict of passwd details": + parts = line.split(':') + userdict = { + "username": parts[0], + "uid": int(parts[2]), + "gid": int(parts[3]), + "realname": parts[4].split(',')[0], + "gecos": parts[4], + "home": parts[5], + "shell": parts[6] + } + return userdict + + +test = read_file("/etc/passwd") +userlist = [i['username'] for i in build_userlist(test)] +print(userlist) \ No newline at end of file diff --git a/ssh_with_sub/main.py b/ssh_with_sub/main.py new file mode 100644 index 0000000..49188a4 --- /dev/null +++ b/ssh_with_sub/main.py @@ -0,0 +1,39 @@ +#!/usr/bin/env python3.10 +from subprocess import Popen, PIPE +from csv import DictReader + +def read_csv(csv_file = str): + with open(csv_file, newline='') as csv: + read_server = DictReader(csv) + server_liste, user_liste = [] , [] + for row in read_server: + user_liste.append(row['user']) + server_liste.append(row['\ufeffserver']) + + return { + 'server' : server_liste, + 'user' : user_liste + } + + +def ssh_connection(con_server = str): + 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 + """) + print(output) + print(error) + print(p.returncode) + + + + + +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]) + diff --git a/ssh_with_sub/test.csv b/ssh_with_sub/test.csv new file mode 100644 index 0000000..cc04d7a --- /dev/null +++ b/ssh_with_sub/test.csv @@ -0,0 +1,6 @@ +server,user, command +ubuntu,jonnybravo1, +debian,jonnybravo2, +3server,beuntzer2, +klana,beuntzer23, +bababa,dkdkd,