import paramiko import sys sys.stdout.reconfigure(encoding='utf-8') client = paramiko.SSHClient() client.set_missing_host_key_policy(paramiko.AutoAddPolicy()) key_path = r"C:\Users\Snarf\.ssh\id_ed25519_snarfnet" client.connect("140.44.4.11", username="root", key_filename=key_path, timeout=15) test_cmd = """ rm -rf /tmp/rancher-2133 && mkdir -p /tmp/rancher-2133 && cd /tmp/rancher-2133 KUBECONFIG=/etc/rancher/k3s/k3s.yaml helm pull rancher-stable/rancher --version 2.13.3 --untar sed -i '/kubeVersion:/d' rancher/Chart.yaml KUBECONFIG=/etc/rancher/k3s/k3s.yaml helm upgrade rancher ./rancher --namespace cattle-system \ --set hostname=aerodrome.snarfnet.net --set ingress.tls.source=secret --dry-run """ stdin, stdout, stderr = client.exec_command(test_cmd) out = stdout.read().decode('utf-8') err = stderr.read().decode('utf-8') print("STDOUT:", out[:400]) print("STDERR:", err) client.close()