import paramiko import sys sys.stdout.reconfigure(encoding='utf-8') key_path = r'C:\Users\Snarf\.ssh\id_ed25519_snarfnet' c = paramiko.SSHClient() c.set_missing_host_key_policy(paramiko.AutoAddPolicy()) c.connect("140.44.4.71", username="root", key_filename=key_path, timeout=10) py_query = """ import sqlite3 conn = sqlite3.connect('/var/lib/docker/volumes/gotify_gotify_data/_data/gotify.db') cur = conn.cursor() cur.execute("PRAGMA table_info(messages)") print('Columns:', cur.fetchall()) cur.execute("SELECT count(*) FROM messages") print('Count:', cur.fetchall()) cur.execute("SELECT * FROM messages ORDER BY id DESC LIMIT 3") print('Last rows:', cur.fetchall()) conn.close() """ c.exec_command("cat << 'EOF' > /tmp/read_m.py\n" + py_query + "\nEOF\n") stdin, stdout, stderr = c.exec_command("python3 /tmp/read_m.py") print(stdout.read().decode()) err = stderr.read().decode() if err: print("Stderr:", err) c.close()