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.75", username="root", key_filename=key_path, timeout=10) py_script = """ import sqlite3 conn = sqlite3.connect('/var/lib/docker/volumes/heimdall_heimdall_config/_data/www/app.sqlite') cur = conn.cursor() cur.execute('SELECT id, title, url, class, appid FROM items') for r in cur.fetchall(): print(r) cur.execute('SELECT name FROM sqlite_master WHERE type="table"') print('Tables:', cur.fetchall()) """ # write to temporary script on remote host c.exec_command("cat << 'EOF' > /tmp/read_h.py\n" + py_script + "\nEOF\n") stdin, stdout, stderr = c.exec_command("python3 /tmp/read_h.py") print(stdout.read().decode()) err = stderr.read().decode() if err: print("Stderr:", err) c.close()