
π 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 sessionscs1
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.