So with PR #6 I added the libssh2_session_set_timeout API.
However, although with this PR, SetTimeout(gDefaultSshTimeout) is called in TSshSession.Connect, where gDefaultSshTimeout is set to 30 seconds by default.
But according to my tests, after 30 seconds of a command execution of no return, the expected LIBSSH2_ERROR_TIMEOUT error (Docs here) are not raised, not sure why...