Bonjour,
Merci pour toute l'activité autour du sujet !
Je vais condenser ce que je crois savoir autour du point SSH :
Sans connaître les 20+ans d'historique, je trouve surprenant, lors d'un rsync over ssh ou d'un scp qu'on ait par défaut certains paquets avec un DSCP au début, puis une bascule au bout de quelques paquets comme comportement par défaut. Mais ça l'est et depuis apparemment très longtemps (>10 ans).
Mais essayer de faire "corriger" (changer) ça côté OpenSSH n'apporte pas vraiment grand chose car on peut citer des cas d'usages de DSCP variable légitime pour une seule et même connexion ssh : on peut avoir un flux interactif pour un shell et un flux "bulk" parce qu'on a utilisé un tunnel / direction de ports ou du sftp.
Une façon basique de mettre en œuvre ça pour un essai est, je pense : ssh -D 8080 user@machine.fqdn.tld
Ceci ouvre le port 8080 local et attends des clients SOCKS5 de proxy (champ qu'on peut configurer dans un firefox, dans les paramètres/proxy) + ça ouvre un shell interactif sur la machine cible. Un download dans le firefox qui passe par le proxy SOCKS5 localhost:8080 ne devrait pas nuire à l'interactivité de la session shell.
Aussi, il est bon de faire attention à quelle page de man ssh on lit. Il faut *vraiment* prendre celle de sa distro et de la bonne version car par exemple debian a des patch "temporaires" depuis 2019 toujours appliqués en 2025 pour ne pas suivre ce qui est dans le dépôt git upstream d'OpenSSH (et utilisé sur fedora par exemple) à propos de la directive de configuration IPQoS. Les patchs modifient à la fois le code source C qui parse l'option IPQoS et la page de man distribuée dans debian. Dans le cas de debian des vielles valeurs de TOS sont utilisées à ce jour, 04/10/2025 dans la configuration par défaut. Dans le cas de toutes les distribution linux non Debian-based que j'ai pu regarder, des valeurs plus modernes mais différentes de CS0 sont utilisées par défaut.
Extrait page de man ssh_config Debian :
IPQoS :[...] The default is lowdelay for interactive sessions and throughput for non-interactive sessions.
Extrait page de man ssh_config non Debian :
IPQoS :[...] The default is af21(Low-Latency Data) for interactive sessions and cs1 (Lower Effort) for non-interactive sessions.
La discussion entre les développeurs d'OpenSSH pour basculer des vielles valeurs TOS aux valeurs DSCP qu'ils ont choisi date de 2018 et est ici :
https://lists.mindrot.org/pipermail/openssh-unix-dev/2018-April/036788.htmlComme je trouvait fort de café que Debian utilise des valeurs TOS en 2025, j'ai bugreport chez debian. Si je comprends correctement la réponse succincte du packageur : à la prochaine release de OpenSSH, il droppe ces patchs de 2019 :
https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1111446Mais on aura donc par défaut af21 puis au bout de quelques paquets cs1 quand on fait un bête scp, et je ne crois pas qu'on aura un changement global de ça dans le code d'OpenSSH un jour, au mieux ils répondront : ok désolé que vous ayez un opérateur majoritaire en France qui applique des bwlimit à 5mbits s'il y a eu des paquets taggué en interactive au début d'une connexion TCP, vous avez l'option IPQoS dans la conf, mettez cs0 mais on va pas risquer d’abîmer plein d'autres cas d'usages établis pour le reste du monde à cause de vous.
Amicalement,
Ludovic