I found that if you have not added an SSH key for the server, you get the same error message-'Request timed out.' I'm not really fond of the experience but it's all we have to work do you have any ideas what might be happening here? ssh2 either needs to be fed the key directly-which dockerode doesn't have a way of doing-or have an SSH agent to give it the key. Under the hood, we use Dockerode for connectivity to Docker in the explorer view, and several commands, which in turn uses ssh2 to talk via SSH to Docker hosts.
The Docker CLI uses the same approach under the hood which is why the CLI doesn't need the SSH agent either.
The reason that the Remote - SSH session can be established in the first place is because it doesn't actually use the SSH agent-rather, it just uses the ssh command line which has a different way of looking up SSH keys, I'm not familiar with how it works. For a Remote - SSH session, the Docker extension essentially gets to pretend it is running locally on the SSH server, and runs no differently than it would if it were on your own machine with Docker Desktop present.