diff --git a/scripts/check_cmd_agent.py b/scripts/check_cmd_agent.py new file mode 100644 index 000000000..3cb7b4afc --- /dev/null +++ b/scripts/check_cmd_agent.py @@ -0,0 +1,43 @@ +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)