|
|
@ -17,15 +17,18 @@ if __name__ == "__main__": |
|
|
parser.add_argument('name',help='name of config file to use (sans .cfg)') |
|
|
parser.add_argument('name',help='name of config file to use (sans .cfg)') |
|
|
parser.add_argument('arg',nargs = '*',help = 'command to be run') |
|
|
parser.add_argument('arg',nargs = '*',help = 'command to be run') |
|
|
args = parser.parse_args() |
|
|
args = parser.parse_args() |
|
|
if args.pre_script: |
|
|
|
|
|
pre = '{HOME}/.ssh/config/{}'.format(args.pre_script,HOME=HOME) |
|
|
|
|
|
subprocess.check_call(pre) |
|
|
|
|
|
if args.wan: |
|
|
|
|
|
host = cp['wan'][args.name] |
|
|
|
|
|
elif args.lan: |
|
|
|
|
|
host = cp['lan'][args.name] |
|
|
|
|
|
cmd = ['ssh','-F','{HOME}/.ssh/config/{}.cfg'.format(args.name,HOME=HOME)] |
|
|
|
|
|
if args.ssh_opt: |
|
|
|
|
|
cmd += shlex.split(args.ssh_opt.replace('+','-')) |
|
|
|
|
|
cmd += [host] + args.arg |
|
|
|
|
|
subprocess.call(cmd) |
|
|
|
|
|
|
|
|
try: |
|
|
|
|
|
if args.pre_script: |
|
|
|
|
|
pre = '{HOME}/.ssh/config/{}'.format(args.pre_script,HOME=HOME) |
|
|
|
|
|
subprocess.check_call(pre) |
|
|
|
|
|
if args.wan: |
|
|
|
|
|
host = cp['wan'][args.name] |
|
|
|
|
|
elif args.lan: |
|
|
|
|
|
host = cp['lan'][args.name] |
|
|
|
|
|
cmd = ['ssh','-F','{HOME}/.ssh/config/{}.cfg'.format(args.name,HOME=HOME)] |
|
|
|
|
|
if args.ssh_opt: |
|
|
|
|
|
cmd += shlex.split(args.ssh_opt.replace('+','-')) |
|
|
|
|
|
cmd += [host] + args.arg |
|
|
|
|
|
subprocess.call(cmd) |
|
|
|
|
|
except KeyboardInterrupt: |
|
|
|
|
|
pass |