I've started running into a problem with outbound SSH connections from a linux guest being dropped as soon as connection is established. The issue is repeatable and fixable with a kludge that modifies QoS.
The issue manifests itself by dropping the connection immediately after establishing it:
$ ssh $host
packet_write_wait: Connection to $host port 22: Broken pipe
Enabling verbose flags (-v or -vvv) doesn't show anything remarkable.
I've been in contact with my linux distribution's maintainers and they have helped narrow the problem down to an issue with vmnat misbehaving.
Because vmnat do not recognise AF21/CS1 DSCP flags, it'll send back a RST packet (don't know why) immediately upon received any packet having either flags, and finally break all ssh connection. (This happens soon after authentication since IPQoS applies during channel establish) 
This is on VMWare Workstation 12 Player, version 12.5.9 build-7535481, running on Win 7 Enterprise. My guest is running a current Linux kernel (4.9.95) and openssh 7.7_p1-r4 (though it seems like any software that uses QoS will have this problem.)
Setting alternate QoS flags seems to work around the issue, e.g. ssh -o IPQoS=throughput ...
I have also been having this problem for a while. What's peculiar is that it only affects an ssh session from my MacBook Pro laptop (when I am home) connecting to my work iMac
I am running Mojave 10.14.3 on both ends
My only recourse right now is doing an ssh into a lab VM, then ssh into my iMac, which feels really weird !