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