The code makes heavy reference to SSH keys and configuration. For several backends, it may make sense to connect in other ways (c.f. AWS Session Manager, Google Cloud Identity-Aware Proxy, Docker exec) which don't rely on an SSH server being directly accessible, or indeed being installed.
The code makes heavy reference to SSH keys and configuration. For several backends, it may make sense to connect in other ways (c.f. AWS Session Manager, Google Cloud Identity-Aware Proxy, Docker exec) which don't rely on an SSH server being directly accessible, or indeed being installed.
Perhaps a "Connection" plugin system could be extracted and imported where it makes sense, much like Ansible's model; https://docs.ansible.com/ansible/latest/plugins/connection.html and https://docs.ansible.com/ansible/latest/collections/community/aws/aws_ssm_connection.html