diff --git a/src/python/jw/pkg/lib/ec/SSHClient.py b/src/python/jw/pkg/lib/ec/SSHClient.py index 9b11a59b..e00ed8df 100644 --- a/src/python/jw/pkg/lib/ec/SSHClient.py +++ b/src/python/jw/pkg/lib/ec/SSHClient.py @@ -129,10 +129,12 @@ class SSHClient(ExecContext): def username(self) -> str: return self.__username -def ssh_client(*args, **kwargs) -> SSHClient: # export +def ssh_client(*args, type=['AsyncSSH', 'Paramiko', 'Exec'], **kwargs) -> SSHClient: # export from importlib import import_module errors: list[str] = [] - for name in ['AsyncSSH', 'Paramiko', 'Exec']: + if isinstance(type, str): + type = [type] + for name in type: try: ret = getattr(import_module(f'jw.pkg.lib.ec.ssh.{name}'), name)(*args, **kwargs) log(INFO, f'Using SSH-client "{name}"')