Problem
When attempting to use SSH client in Fedora 29 within a VMWare Player virtual machine, I would receive a a broken pipe error immediately after a successful authentication request.
packet_write_wait: Connection to x.x.x.x port 22: Broken pipe
I know the SSH server was working because another machine worked fine when connecting. Using the verbose output (ssh -v
), I was able to also confirm
the authentication was successful before the error. The server configuration was not modified at all throughout the process, but the server was running Ubuntu, for what it is worth.
Fix
Searching for solutions, I finally found one that worked at https://superuser.com/questions/1371506/from-vmware-and-fedora-29-ssh-to-remote-machine-cause-broken-pipe.
The solution is to set the IPQoS
option to throughput
. You can do it from the command line or in the SSH config file.
Set option via CLI
You can set the IPQoS
option via the command-line whenever you connect like this:
ssh example.com -o IPQoS=throughput
Set option in SSH config
You can set the IPQoS
option in the config file (e.g. $HOME/.ssh/config
) like this:
# This will apply to all hosts.
Host *
IPQoS=throughput