I have this ruby library which establishes telnet or ssh connections to remote devices. All seems to work. The testing framework (which works for telnet) defines device simulators which bind to a port, and the test connection bind to that same port. The whole payload exchange then goes through that channel, the authentication step as well.
With SSH, I'm having problems adapting this, because apparently, mimicking the authentication step of the protocol is not that easy. Since we use net-ssh, the client expects all the authentication steps (ssh version, alghoritm negotiation, key exchange,...) and I don't know the formats of the messages in detail (I don't find a lot of examples anywhere).
What I'm expecting is a way of actually signaling the client that channel can be unencrypted (for tests, not an issue) and I want to receive the prompts (password-based, I don't need the authorized_keys process for the test environment).
Is there an easy implementation / an existing implementation for such an ordeal?