34 lines
989 B
Python
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()
|
|
|