Files
SnarfCode/scripts/check_secret_dates.py

34 lines
989 B
Python

import paramiko
import sys
sys.stdout.reconfigure(encoding='utf-8')
key_path = r"C:\Users\Snarf\.ssh\id_ed25519_snarfnet"
client = paramiko.SSHClient()
client.set_missing_host_key_policy(paramiko.AutoAddPolicy())
client.connect("140.44.4.11", username="root", key_filename=key_path, timeout=10)
def run(cmd):
print(f"=== {cmd} ===")
stdin, stdout, stderr = client.exec_command(cmd)
out = stdout.read().decode('utf-8')
err = stderr.read().decode('utf-8')
if out: print(out)
if err: print(f"ERR: {err}")
secrets = [
("cattle-system", "tls-rancher-ingress"),
("cattle-system", "tls-rancher"),
("cattle-system", "serving-cert"),
("default", "tls-authentik-cert"),
("monitoring", "zabbix-tls-cert"),
]
for ns, name in secrets:
print(f"\n--- Checking {ns}/{name} ---")
cmd = f"k3s kubectl -n {ns} get secret {name} -o jsonpath='{{.data.tls\\.crt}}' | base64 -d | openssl x509 -noout -subject -dates -issuer"
run(cmd)
client.close()