Я использую следующую команду для передачи файлов через мою домашнюю сеть (когда мне приходится передавать много файлов, я обычно архивирую их с помощью утилиты tar
):
scp -c blowfish [FILE] [USER]@[ADDRESS]:[PATH]
Это занимает около 25 минут для отправки 500 Мб данных на другой компьютер. Средняя скорость составляет около 600 КБ / с. Я думаю, что, безусловно, должен быть способ ускорить процесс, потому что я не верю, что смогу вытащить файл объемом 1 Гб из Интернета менее чем за 10 минут, но я не могу получить 500 Мб файл отправляется по сети меньше, чем за это время.
Две идеи:
1. Эксперимент с другим шифром:
Одна идея состоит в том, чтобы протестировать различные шифры, которые доступны через scp
и попытайтесь определить, который является самым быстрым для Вас. (Идея позади этого состоит в том, что это - шифрование Ваших данных, которые занимают время.) Находят доступные шифры путем выполнения следующего:
andrew@athens:~$ ssh -Q cipher
3des-cbc
blowfish-cbc
cast128-cbc
arcfour
arcfour128
arcfour256
aes128-cbc
aes192-cbc
aes256-cbc
rijndael-cbc@lysator.liu.se
aes128-ctr
aes192-ctr
aes256-ctr
aes128-gcm@openssh.com
aes256-gcm@openssh.com
chacha20-poly1305@openssh.com
andrew@athens:~$
Это показывает доступные шифры на Гостеприимной установке Xerus по умолчанию и может быть добавлено в использовании синтаксиса, который Вы уже предложили:
scp -c <cipher> [FILE] [USER]@[ADDRESS]:[PATH]
Эта опция передается непосредственно ssh
следовательно тестирование ssh
самостоятельно для доступных шифров. Надо надеяться, можно найти шифр, который позволит увеличение скорости передачи, когда Вы нашли этот шифр, можно поместить его в ~/.ssh/config
вместо того, чтобы ввести его в каждый раз...
2. Используйте 'динамическое' сжатие:
scp
может сжать Ваши передачи, 'на лету' означающие, что сжатия только используются во время передачи и не будут замечены или в хосте или в удаленных концах. Добавьте это в использовании -C
опция:
scp -c <cipher> -C [FILE] [USER]@[ADDRESS]:[PATH]
Вот пример в моей собственной системе:
debug1: compress outgoing: raw data 365865, compressed 150118, factor 0.41
debug1: compress incoming: raw data 150118, compressed 365865, factor 2.44
Уровень сжатия совпадает с тем, используемым для gzip
и если Вы действительно хотите экспериментировать, можно использовать опцию 'CompressionLevel', которая варьируется от 1-9, 1 являющийся самым быстрым сжатием, 9 являющийся самым медленным с лучшим сжатием и 6 являющийся значением по умолчанию. Это может быть установлено в ~/.ssh/config
следующим образом:
Host *
Compression yes
CompressionLevel 9
Примите во внимание, что это устанавливает высокое сжатие для всех scp / ssh
передачи, это может быть установлено для отдельных хостов, если Вы желаете...
Используйте -v
опция исследовать эффекты любых изменений Вы делаете. Вы отметите с экспериментированием, что различные данные будут иметь различные степени сжатия.
full-upgrade
является лучшим при хранении system' s все компоненты, актуальные и совместимые. Таким образом, мне удается поддерживать мою систему LTS в рабочем состоянии в течение многих лет без проблем. Альтернатива должна использоватьsudo apt-get dist-upgrade
, который я думаю, делает что-то очень похожее (кроме использования более старого кроме все еще доступной программыapt-get
). – sudodus 9 September 2017 в 18:28