The timeout parameter on connection types is supposed to be how long to wait when trying to establish a connection to the target. That parameter is currently passed to paramiko's SSHClient() timeout parameter, which is documented as:
timeout (float) – an optional timeout (in seconds) for the TCP connect
https://docs.paramiko.org/en/stable/api/client.html
Long before that timeout, we get the following error:
SSH logic error: Error reading SSH protocol banner
Some other timeouts (banner_timeout ?) probably need to be set to achieve the behavior we want in devlib.