import argparse from subprocess import run from shlex import split from socket import gethostname import time from colorama import Fore, init from tqdm import trange SERVER = '${SERVER}' init(autoreset=True) parser = argparse.ArgumentParser() parser.add_argument('-P', '--port', default=2222) args = parser.parse_args() nx = gethostname() cmd = 'ssh -R {}:localhost:22 {}'.format(args.port, SERVER) while True: print('CMD:', cmd) print(Fore.LIGHTBLUE_EX + 'Connecting..') rus = run(split(cmd)) print(Fore.LIGHTRED_EX + 'Disconnected, retry after 30 sec.') for _ in trange(30): time.sleep(1)