No alternative text provided

πŸš€ Speeding Up SSH Transfers on Arch Linux with IPQoS

I recently ran into a frustrating issue on Arch Linux: SSH file transfers between two computers (each behind their own Livebox, using Orange as the ISP in France) were painfully slow β€” barely reaching 1 MB/s.

After some digging, I found out the cause was IPQoS (IP Quality of Service) default settings in OpenSSH.


🐒 The Default Behavior

By default on Arch Linux, ssh and sshd use:

  • af21 for interactive sessions
  • cs1 for bulk transfers

These QoS classes can be deprioritized by some ISPs (including Orange), resulting in terrible throughput.


πŸ’‘ The Fix

We can override IPQoS in both server and client configs.

On the server (/etc/ssh/sshd_config):

1IPQoS lowdelay throughput

On the client (/etc/ssh/ssh_config or ~/.ssh/config):

1Host *
2    IPQoS lowdelay throughput

πŸ”„ Apply the Change

Restart SSHD on the server:

1sudo systemctl restart sshd

Reconnect, and enjoy the speed boost β€” I went from 1 MB/s to ~50 MB/s πŸš€.


πŸ” Checking the Current Settings

From the client:

1ssh -G user@host | grep -i ipqos

From the server (if you have shell access):

1sshd -T | grep -i ipqos

πŸ“Œ Conclusion

If you’re on Arch Linux (or any Linux) and notice unusually slow SSH file transfers, especially with certain ISPs like Orange France, tweaking IPQoS can make a huge difference.