From a3d042e05445beb585771f05b5f5fecb6ec9f735 Mon Sep 17 00:00:00 2001 From: Sergei Trofimov Date: Wed, 13 Sep 2017 11:22:29 +0100 Subject: [PATCH] utils/ssh: fix telnet connection This fixes the ability to connect over telnet rather than SSH which was broken by commit 51db53d9 ssh: Back-port ssh_get_shell from devlib --- wlauto/utils/ssh.py | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/wlauto/utils/ssh.py b/wlauto/utils/ssh.py index 51b3b7c4..975a27e7 100644 --- a/wlauto/utils/ssh.py +++ b/wlauto/utils/ssh.py @@ -40,19 +40,24 @@ logger = logging.getLogger('ssh') def ssh_get_shell(host, username, password=None, keyfile=None, port=None, timeout=10, telnet=False, original_prompt=None): _check_env() start_time = time.time() + extra_login_args = {} while True: if telnet: if keyfile: raise ValueError('keyfile may not be used with a telnet connection.') - conn = TelnetPxssh(original_prompt=original_prompt) + conn = TelnetConnection() + if original_prompt: + extra_login_args['original_prompt'] = original_prompt + if port is None: + port = 23 else: # ssh conn = pxssh.pxssh() try: if keyfile: - conn.login(host, username, ssh_key=keyfile, port=port, login_timeout=timeout) + conn.login(host, username, ssh_key=keyfile, port=port, login_timeout=timeout, **extra_login_args) else: - conn.login(host, username, password, port=port, login_timeout=timeout) + conn.login(host, username, password, port=port, login_timeout=timeout, **extra_login_args) break except EOF: timeout -= time.time() - start_time