Назад | Перейти на главную страницу

ssh не может установить уровень сжатия более 6

Когда я это сделаю (я пробовал разные способы):

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?

Вы не можете. Как четко указано на странице руководства, CompressionLevel доступен только для версии протокола 1.

Видеть этот для возможной альтернативы, но если вы не на настоящий медленное или дорогое соединение, гораздо лучше использовать значение по умолчанию.

Вы не можете, протокол 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