RomSShell 5.40 client - any experience with key exchange issue?

"denis bider \(Bitvise\)" <> Tue, 16 May 2017 05:08 UTC

Return-Path: <>
Received: from localhost (localhost []) by (Postfix) with ESMTP id 420CD129B3A for <>; Mon, 15 May 2017 22:08:39 -0700 (PDT)
X-Virus-Scanned: amavisd-new at
X-Spam-Flag: NO
X-Spam-Score: -1.39
X-Spam-Status: No, score=-1.39 tagged_above=-999 required=5 tests=[BAYES_50=0.8, DKIM_SIGNED=0.1, HEADER_FROM_DIFFERENT_DOMAINS=0.001, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_MED=-2.3, RP_MATCHES_RCVD=-0.001, SPF_PASS=-0.001, T_DKIM_INVALID=0.01] autolearn=ham autolearn_force=no
Authentication-Results: (amavisd-new); dkim=fail (2048-bit key) reason="fail (body has been altered)"
Received: from ([]) by localhost ( []) (amavisd-new, port 10024) with ESMTP id wowhKjCuuGnb for <>; Mon, 15 May 2017 22:08:37 -0700 (PDT)
Received: from ( []) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by (Postfix) with ESMTPS id 45E7512EAAF for <>; Mon, 15 May 2017 22:06:01 -0700 (PDT)
Received: by (Postfix, from userid 605) id 4C46F8557F; Tue, 16 May 2017 05:05:59 +0000 (UTC)
Received: by (Postfix, from userid 1347) id F162F84D75; Tue, 16 May 2017 05:05:58 +0000 (UTC)
Received: from localhost (localhost []) by (Postfix) with ESMTP id EDC9E85692 for <>; Mon, 15 May 2017 11:34:57 +0000 (UTC)
X-Virus-Scanned: amavisd-new at
Authentication-Results: (amavisd-new); dkim=pass (2048-bit key)
Received: from ([]) by localhost ( []) (amavisd-new, port 10025) with ESMTP id 8wyDr5NO0GhQ for <>; Mon, 15 May 2017 11:34:57 +0000 (UTC)
Received: from ( []) (using TLSv1.1 with cipher ECDHE-RSA-AES256-SHA (256/256 bits)) (No client certificate requested) by (Postfix) with ESMTPS id 486AE84CFB for <>; Mon, 15 May 2017 11:34:57 +0000 (UTC)
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;; s=mail; h=from:subject:date:message-id:to:mime-version:content-type; bh=BoelfvKNtpzwmdRSkvk1zg9SJUANHYlpbetbAToscOg=; b=h3XzAoaFjFnu+2Up2is9Y/s7gMDnXYQENtKqDefhPDYCuR0rkoL7lawJcg6YDtDHv3IBPemQsJxSd EwhlUo2u3+nS4aXZVeaIZjlOsvJB3Alo3ZqqjgMha1vEB09iSebsHaEJ1OHhAbuIhkq4Tpr7XY9mgc PW3E4AJWXPJIzuRx/AEJn1axfCA39bwoaB4RWTojmhoBCZXRaCREAWUVCDmPUquyFisPb/VrdsAqNt xJqPsEkVYXCJUCdg7ao4JTbqdL/VUDXlyH1Od6w1vusL+byCeDYUQEmva+Uj1ausLo8WAfhH9sKuM0 WhYgvbMgZptysB49EZ6njWsV2i34Rtg==
X-Footer: ZGVuaXNiaWRlci5jb20=
Received: from localhost ([]) by with ESMTPSA (using TLSv1.2 with cipher DHE-RSA-AES256-GCM-SHA384 (256 bits)) for; Mon, 15 May 2017 12:34:51 +0100
Message-ID: <37769EE919F4477A8CF86F6CF05F7128@Khan>
From: "denis bider \(Bitvise\)" <>
To: <>
Subject: RomSShell 5.40 client - any experience with key exchange issue?
Date: Mon, 15 May 2017 05:34:03 -0600
MIME-Version: 1.0
Content-Type: multipart/alternative; boundary="----=_NextPart_000_007C_01D2CD3C.DD0D64A0"
X-Priority: 3
X-MSMail-Priority: Normal
Importance: Normal
X-Mailer: Microsoft Windows Live Mail 16.4.3528.331
X-MimeOLE: Produced By Microsoft MimeOLE V16.4.3528.331
Precedence: list
List-Unsubscribe: <>

Hey everyone!

I’ve reached out to AllegroSoft, the developers of RomSShell, to see if they can help with this issue, but I can’t expect they will help. Sometimes people do, sometimes not.

So I’m wondering if any other SSH server developer has experienced this issue with the RomSShell client.

This is an SSH implementation that runs on resource constrained hardware, and to which I don’t have source code access. In our case, a user has provided us with information that suggests the following is happening:

- The RomSShell client connects to our server. SSH version strings are exchanged.

- KEXINIT packets are exchanged and diffie-hellman-group1-sha1 is negotiated. (That’s the only key exchange algorithm the client sends. Not sure if this version supports anything else. Perhaps not.)

- diffie-hellman-group1-sha1 key exchange occurs, and from the server’s perspective, is completed successfully. The server sends SSH_MSG_NEWKEYS and waits for the client.

- The client takes a good 25 seconds to think about what the server just sent. Then it replies with SSH_MSG_DISCONNECT, stating reason code SSH_DISCONNECT_PROTOCOL_ERROR, and description: “Not expecting new keys message”.

For comparison – the client is able to connect to other SSH servers, such as OpenSSH; in which case it neither incurs a 25 second delay (the SSH handshake completes promptly) nor sends this protocol error message.

At this point, my first instinct is to try delaying SSH_MSG_NEWKEYS by a second or more, in case the client is not ready to receive NEWKEYS at the same time it’s processing the last DH key exchange message. However, I’m not sure how that would cause a 25 second delay before it sends DISCONNECT.

Does anyone else have experience with this client, and has resolved this issue?