SSH failed (read ECONNRESET) with release 140-145; Worked in release 139. SSH protocol error? Thanks.
See original GitHub issueI’m unable to connect using SSH access to RHEL (Redhat) from release 140-145. The same SSH connection worked in release 139.
SSH Connecting to x.y.com.
X read ECONNRESET
SSH X Remote rejected opening a shell channel: Error: Not connected
On the server side, it’s running OpenSSH_7.4p1. SSHD appears to be closing the connection because tabby didn’t pass identification string (see below).
Jul 8 12:43:28 x sshd[93603]: Did not receive identification string from 10.1.1.100 port 64842
Oddly, SSH in Release 140-145 works if I connect to Ubuntu/Debian, running OpenSSH 8.x (but failed if RHEL & OpenSSH 7.x). Unfortunately, I don’t own the RHEL, so can’t update SSHD on it.
Interestingly, Wireshark network capture on the client side, decodes those fragmented packet as “SSH” but malformed.
SSH Protocol
[Malformed Packet: SSH]
[Expert Info (Error/Malformed): Malformed Packet (Exception occurred)]
When I failback to putty, the 1st packet gets decoded as SSHv2 (see below).
SSH Protocol
Protocol: SSH-2.0-PuTTY_Release_0.71
[Direction: client-to-server]
Thanks for your great work on Tabby! Love it as do many others! 👍🏼
Issue Analytics
- State:
- Created 2 years ago
- Comments:5 (3 by maintainers)
Top GitHub Comments
Build should be done soon: https://github.com/Eugeny/tabby/actions/runs/1018258488
Hi, thanks for the detailed report. It appears that Wireshark fails to parse the packet because
node-ssh2
sends the ident string and CRLF in two separate TCP packets. I’ve patched them together and now Wireshark sees the SSH packet structure again:That said, it already worked before with a CentOS machine running
openssh-7.4p1-21.el7.x86_64
.I’ll push this change anyway - let’s see if it helps