From ce2f4842a8a819776abe54410bca54a2a865356a Mon Sep 17 00:00:00 2001 From: Zack Cerza Date: Tue, 20 Aug 2024 16:24:33 -0600 Subject: [PATCH] orchestra: Respect username if set in ssh config Signed-off-by: Zack Cerza --- teuthology/orchestra/connection.py | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/teuthology/orchestra/connection.py b/teuthology/orchestra/connection.py index 4e6b042bf..1772d37b5 100644 --- a/teuthology/orchestra/connection.py +++ b/teuthology/orchestra/connection.py @@ -82,7 +82,7 @@ def connect(user_at_host, host_key=None, keep_alive=False, timeout=60, key_filename = key_filename or config.ssh_key ssh_config_path = config.ssh_config_path or "~/.ssh/config" ssh_config_path = os.path.expanduser(ssh_config_path) - if not key_filename and os.path.exists(ssh_config_path): + if os.path.exists(ssh_config_path): ssh_config = paramiko.SSHConfig() ssh_config.parse(open(ssh_config_path)) opts = ssh_config.lookup(host) @@ -90,6 +90,8 @@ def connect(user_at_host, host_key=None, keep_alive=False, timeout=60, key_filename = opts['identityfile'] if 'hostname' in opts: connect_args['hostname'] = opts['hostname'] + if 'user' in opts: + connect_args['username'] = opts['user'] if key_filename: if not isinstance(key_filename, list):