Когда я это делаю (пробовал разными способами):
ssh -v -C -o CompressionLevel=9 user@ip
ssh -v -C -o 'CompressionLevel=9' user@ip
ssh -v -o 'Compression=yes' -o 'CompressionLevel=9' user@ip
ssh -v -o 'CompressionLevel=9' -o 'Compression=yes' user@ip
ssh -v -C -o 'CompressionLevel 9' user@ip
ssh -v -o 'Compression yes' -o 'CompressionLevel 9' user@ip
ssh -v -o 'CompressionLevel 9' -o 'Compression yes' user@ip
Я включил -v
, поэтому я могу видеть детали подключения и независимо от того, что я попробовал, я не могу получить уровень сжатия более 6, как показано в подробном выводе:
debug1: Enabling compression at level 6.
Мне не нужно устанавливать CompressionLevel
в ssh_config
, мне нужно сделать это с помощью cli.
Я нашел информацию, что опция CompressionLevel
работает только для ssh версии 1, но не 2.
Как установить максимальный уровень сжатия для протокола ssh версии 2 ?
Вы не можете, протокол ssh V2 не позволяет согласовывать уровни сжатия. Он зафиксирован в точке, обеспечивающей хороший баланс между скоростью и сжатием.
ОК, Я нашел решение:
Сначала я создаю зашифрованный, несжатый туннель ssh v2:
ssh -fN -L frwrd_port:frwrd_ip:22 user@ip
Затем я использую ssh v1 с некоторым быстрым шифром, например arcfour, и включенным максимальным сжатием по туннелю, созданному на 1-м шаге:
ssh -1 -c arcfour -C -o "CompressionLevel=9" -p frwrd_port user@frwrd_ip