| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647 |
- import paramiko
- def inspect_remote():
- host = "192.168.130.171"
- user = "roni"
- pw = "BTSai123"
-
- commands = {
- "Directory listing": "ls -la ~/LocalFoodAI",
- "Python processes": "ps aux | grep -i python",
- "Port binding (8000)": "ss -tln | grep 8000 || netstat -an | grep 8000 || true",
- "Recent logs (server.log)": "tail -n 20 ~/LocalFoodAI/server.log",
- "Network interfaces / IP info": "ip addr show | grep -E 'inet '",
- "UFW status": "sudo ufw status || true",
- "System uptime & load": "uptime"
- }
-
- try:
- print(f"Connecting to remote VM at {host}...")
- client = paramiko.SSHClient()
- client.set_missing_host_key_policy(paramiko.AutoAddPolicy())
- client.connect(host, username=user, password=pw, timeout=10)
- print("Connected successfully. Running diagnostics...\n")
-
- for desc, cmd in commands.items():
- print("=" * 60)
- print(f"DIAGNOSTIC: {desc}")
- print(f"COMMAND: {cmd}")
- print("=" * 60)
- stdin, stdout, stderr = client.exec_command(cmd)
- out = stdout.read().decode().strip()
- err = stderr.read().decode().strip()
-
- if out:
- print(out)
- else:
- print("[No Output]")
- if err:
- print(f"\n[stderr]:\n{err}")
- print()
-
- client.close()
- except Exception as e:
- print(f"Error during inspection: {e}")
- if __name__ == "__main__":
- inspect_remote()
|