added more
This commit is contained in:
@@ -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
|
|
||||||
|
|
||||||
51
create_selfsign/selfsing.py
Normal file
51
create_selfsign/selfsing.py
Normal file
@@ -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)
|
||||||
24
my_backups/backup_main.py
Normal file
24
my_backups/backup_main.py
Normal file
@@ -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")
|
||||||
43
read_all_user/main.py
Normal file
43
read_all_user/main.py
Normal file
@@ -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)
|
||||||
39
ssh_with_sub/main.py
Normal file
39
ssh_with_sub/main.py
Normal file
@@ -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])
|
||||||
|
|
||||||
6
ssh_with_sub/test.csv
Normal file
6
ssh_with_sub/test.csv
Normal file
@@ -0,0 +1,6 @@
|
|||||||
|
server,user, command
|
||||||
|
ubuntu,jonnybravo1,
|
||||||
|
debian,jonnybravo2,
|
||||||
|
3server,beuntzer2,
|
||||||
|
klana,beuntzer23,
|
||||||
|
bababa,dkdkd,
|
||||||
|
Reference in New Issue
Block a user