From 535b4d50c72d48ad0f8caf68765364694279f281 Mon Sep 17 00:00:00 2001 From: Roman Zeyde Date: Fri, 27 Nov 2015 09:59:06 +0200 Subject: [PATCH] Fix SSH connection arguments handling --- trezor_agent/__main__.py | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/trezor_agent/__main__.py b/trezor_agent/__main__.py index 1b658bd..ea7d803 100644 --- a/trezor_agent/__main__.py +++ b/trezor_agent/__main__.py @@ -41,6 +41,18 @@ def identity_from_gitconfig(): return 'ssh://{0}@{1}/{2}'.format(user, host, path) +def ssh_args(label): + identity = trezor.client.string_to_identity(label, identity_type=dict) + + args = [] + if 'port' in identity: + args += ['-p', identity['port']] + if 'user' in identity: + args += ['-l', identity['user']] + + return ['ssh'] + args + [identity['host']] + + def create_agent_parser(): p = argparse.ArgumentParser() p.add_argument('-v', '--verbose', default=0, action='count') @@ -92,7 +104,7 @@ def run_agent(client_factory): use_shell = False if args.connect: - command = ['ssh', label] + args.command + command = ssh_args(label) + args.command log.debug('SSH connect: %r', command) if args.shell: