From 3470d262daff82a245c790e440103ab2c18c9cdb Mon Sep 17 00:00:00 2001 From: sebirocs Date: Wed, 27 Aug 2025 12:34:37 -0400 Subject: [PATCH] Initial. Script docker ps --- myservers.py | 59 ++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 59 insertions(+) create mode 100644 myservers.py diff --git a/myservers.py b/myservers.py new file mode 100644 index 0000000..bdb5fa1 --- /dev/null +++ b/myservers.py @@ -0,0 +1,59 @@ +# /// script +# dependencies = [ +# "paramiko", +# ] +# /// + +import paramiko + +# Server configurations +servers = [ + { + "host": "server3.example.com", + "user": "root", + "password": "your_password" + }, + { + "host": "192.168.1.100", + "user": "deploy", + "key": "~/.ssh/deploy_key", + "port": 2222 # Optional: custom SSH port + } +] + +for server in servers: + print(f"\n--- {server['host']} ---") + + ssh = paramiko.SSHClient() + ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy()) + + try: + # Get connection parameters + host = server["host"] + user = server["user"] + port = server.get("port", 22) + + # Connect based on available auth method + if "password" in server: + ssh.connect(host, port=port, username=user, password=server["password"]) + elif "key" in server: + ssh.connect(host, port=port, username=user, key_filename=server["key"]) + else: + # Try default key locations + ssh.connect(host, port=port, username=user) + + # Execute command + stdin, stdout, stderr = ssh.exec_command("docker ps") + + output = stdout.read().decode() + error = stderr.read().decode() + + if output: + print(output) + if error: + print(f"Error: {error}") + + except Exception as e: + print(f"Failed: {e}") + finally: + ssh.close()