Files
python_skripte/SSH_Agent/main.py
jonnybravo a692ac8b05
All checks were successful
test / build-docs (push) Successful in -19s
current
2025-07-10 21:03:06 +02:00

68 lines
1.8 KiB
Python
Executable File

#! /usr/bin/env python3.13
import os
import subprocess
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)