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