44 lines
1.5 KiB
Python
44 lines
1.5 KiB
Python
import subprocess, os, base64
|
|
|
|
NEW_SERVER = "172.30.18.199"
|
|
KEY_CONTENT = """-----BEGIN OPENSSH PRIVATE KEY-----
|
|
b3BlbnNzaC1rZXktdjEAAAAABG5vbmUAAAAEbm9uZQAAAAAAAAABAAAAMwAAAAtzc2gtZW
|
|
QyNTUxOQAAACD6GquAk5vBEfbtaJCTSfnQEhjzC8e5GF60hSbPP0BJbAAAAJiQxGNokMRj
|
|
aAAAAAtzc2gtZWQyNTUxOQAAACD6GquAk5vBEfbtaJCTSfnQEhjzC8e5GF60hSbPP0BJbA
|
|
AAAED2muzuU4BAiCqbg0ayGxgiDvfS/xI1SFvb32oLzTnn8/oaq4CTm8ER9u1okJNJ+dAS
|
|
GPMLx7kYXrSFJs8/QElsAAAAFHJ1bm5lci1hZG1pbkB4aWFveGlhAQ==
|
|
-----END OPENSSH PRIVATE KEY-----
|
|
"""
|
|
|
|
key_path = "/tmp/new_server_ed25519"
|
|
with open(key_path, "w") as f:
|
|
f.write(KEY_CONTENT)
|
|
os.chmod(key_path, 0o600)
|
|
|
|
def ssh(cmd):
|
|
r = subprocess.run(
|
|
f'ssh -i {key_path} -o StrictHostKeyChecking=no -o ConnectTimeout=10 root@{NEW_SERVER} "{cmd}"',
|
|
shell=True, capture_output=True, text=True
|
|
)
|
|
return r.returncode, r.stdout.strip(), r.stderr.strip()
|
|
|
|
print("=== CMD Agent 服务状态 ===")
|
|
rc, out, err = ssh("systemctl status cmd-agent 2>&1 | head -15")
|
|
print(out)
|
|
|
|
print("\n=== 监听端口 ===")
|
|
rc, out, err = ssh("ss -tlnp | grep -E '5927|cmd' || netstat -tlnp 2>/dev/null | grep 5927 || echo 'no port info'")
|
|
print(out)
|
|
|
|
print("\n=== server.py 内容 ===")
|
|
rc, out, err = ssh("cat /opt/cmd-agent/server.py 2>&1 | head -30")
|
|
print(out)
|
|
|
|
print("\n=== 防火墙/iptables ===")
|
|
rc, out, err = ssh("iptables -L -n 2>&1 | head -20 || echo 'iptables not available'")
|
|
print(out)
|
|
|
|
print("\n=== curl 本地测试 ===")
|
|
rc, out, err = ssh("curl -s http://127.0.0.1:5927/health 2>&1 || curl -s http://127.0.0.1:5000/health 2>&1 || echo 'no response'")
|
|
print(out)
|