import paramiko import sys sys.stdout.reconfigure(encoding='utf-8') key_path = r"C:\Users\Snarf\.ssh\id_ed25519_snarfnet" c = paramiko.SSHClient() c.set_missing_host_key_policy(paramiko.AutoAddPolicy()) c.connect("140.44.4.71", username="root", key_filename=key_path, timeout=5) for host, ip, path in [ ('pihole1.snarfnet.net', '140.44.4.34', '/admin/'), ('pihole2.snarfnet.net', '140.44.4.62', '/admin/'), ('technitium.snarfnet.net', '140.44.4.34', '/'), ('dns2.snarfnet.net', '140.44.4.62', '/') ]: cmd = f"curl -k -I -H 'Host: {host}' https://{ip}{path}" stdin, stdout, stderr = c.exec_command(cmd) out = stdout.read().decode('utf-8') status_line = out.splitlines()[0] if out else "No output" loc = [l for l in out.splitlines() if 'location:' in l.lower()] print(f"{host} -> {ip}: {status_line} {loc}") c.close()