import paramiko ssh = paramiko.SSHClient() ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy()) ssh.connect('140.44.4.71', username='root', key_filename=r'C:\Users\Snarf\.ssh\id_ed25519_snarfnet', timeout=10) def run(cmd): print(f">>> {cmd}") _, o, e = ssh.exec_command(cmd) out = o.read().decode().strip() err = e.read().decode().strip() if out: print(out) if err: print("[stderr]", err) run("iptables -t nat -I PREROUTING 1 -p tcp --dport 10051 -j DNAT --to-destination 140.44.4.64:10051") run("iptables -t nat -I POSTROUTING 1 -p tcp -d 140.44.4.64 --dport 10051 -j MASQUERADE") run("iptables -t nat -L PREROUTING -n -v | head -n 5") ssh.close()