#!/usr/bin/env python3 from __future__ import annotations import sys import paramiko JUMP = ("100.80.255.113", "otantik", "DeararbsFr2@") MK = ("172.30.0.1", "admin", "demopass") def run(cmd: str, timeout: int = 60) -> str: jump = paramiko.SSHClient() jump.set_missing_host_key_policy(paramiko.AutoAddPolicy()) jump.connect( JUMP[0], username=JUMP[1], password=JUMP[2], timeout=25, allow_agent=False, look_for_keys=False, ) chan = jump.get_transport().open_channel("direct-tcpip", (MK[0], 22), ("127.0.0.1", 0)) mk = paramiko.SSHClient() mk.set_missing_host_key_policy(paramiko.AutoAddPolicy()) mk.connect( MK[0], username=MK[1], password=MK[2], sock=chan, timeout=25, allow_agent=False, look_for_keys=False, ) stdin, stdout, stderr = mk.exec_command(cmd, timeout=timeout) out = stdout.read().decode("utf-8", "replace") err = stderr.read().decode("utf-8", "replace") mk.close() jump.close() return (out + ("\n" + err if err.strip() else "")).strip() if __name__ == "__main__": cmd = sys.argv[1] if len(sys.argv) > 1 else "/system identity print" print(run(cmd, timeout=int(sys.argv[2]) if len(sys.argv) > 2 else 60))