Initial. Script docker ps
This commit is contained in:
commit
3470d262da
1 changed files with 59 additions and 0 deletions
59
myservers.py
Normal file
59
myservers.py
Normal file
|
|
@ -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()
|
||||
Loading…
Add table
Add a link
Reference in a new issue