Files
python_skripte/SSH_Agent/main.py
2024-11-25 17:23:00 +01:00

65 lines
2.0 KiB
Python
Executable File

#! /usr/bin/env python3.12
import subprocess, os
def import_ssh_keys_to_agent(privat_key = str):
try:
run_add_key = subprocess.run(
[ "/usr/bin/ssh-add","-q", privat_key],
shell=False,
text=False,
stdout=subprocess.PIPE,
stderr=subprocess.PIPE,
timeout=10,)
except subprocess.TimeoutExpired:
print("\n","Timeout, No Import :", privat_key)
return False
# print(run_add_key)
if run_add_key.returncode == 0:
return True
else:
return False
def check_key_exist(ssh_pub=str):
if not os.path.exists(ssh_pub):
return False
run_check_key = subprocess.run(
[ "/usr/bin/ssh-add","-L"],
shell=False,
text=False,
stdout=subprocess.PIPE,
stderr=subprocess.PIPE,)
list_agent_pubs = str(run_check_key.stdout,encoding="utf-8").splitlines()
read_input_pub = open(ssh_pub)
READ_FILE_PUB = read_input_pub.read()
count=0
for pub in list_agent_pubs:
count = count +1
if READ_FILE_PUB == pub + "\n":
return True
return False
if __name__ == "__main__":
ssh_keys = [
"/home/jonnybravo/.ssh/ansible-test",
"/home/jonnybravo/.ssh/blu",
"/home/jonnybravo/.ssh/gitea",
"/home/jonnybravo/.ssh/gitlab_ed25519",
]
for add_key in ssh_keys:
if not os.path.exists(add_key):
print("File", (add_key + ".pub"), "existiert nicht")
else:
if check_key_exist(ssh_pub=add_key + ".pub"):
print(add_key, "ist bereits vorhanden")
else:
print(add_key, "wird hinzugefügt...")
if import_ssh_keys_to_agent(privat_key=add_key):
print("Wurde hinzugefügt :", add_key)