There is an unsaved comment in progress. You will lose your changes if you continue. Are you sure you want to reopen the work item?
Initialisation sequence blocking until idle timeout if no KexInit from client
I'm encountering the same problem with two ssh clients, cygwin and putty, where the first time they connect to the NSsh server it works ok but the second time the initialisation sequence only gets as far as VersionsExchangedState.Process.
What it looks like to my untrained eye is that the client can treat the KexInit packet as optional and if it has previously connected will assume the same settings are going to be used and skip straight to the KexDHInit packet. If that happens the VersionsExchangedState.KexInitPacket
method never gets called, the TransportLayerManager.Parameters never gets initialised and the intialisation will block in VersionsExchangedState.Process until an idle timeout occurs.
I'm guessing the NSsh server should have some default values for the ecnryption, mac and compression algorithms that get used if no KexInit is received from the client?