Какой самый безопасный шифр для SSH, который может отправлять файлы на скорости USB3? (~480 Мбит/с)

Какой самый безопасный шифр для SSH, который может отправлять файлы на скорости USB3? (~480 Мбит/с)

У меня гигабитное соединение между моим ПК и сервером (тесты iperf3 показывают ~930 Мбит/с), и я хочу иметь возможность передавать большие файлы как можно быстрее. Жесткий диск на сервере подключен через USB3, и это Rock64. С ssh (я использую btrbk с ssh) я думаю, что узким местом, вероятно, является ssh из-за высокой загрузки ЦП и высоких температур (~60C). Я отключил сжатие, хотя, как мне кажется, оно отключено по умолчанию (поместил его в ~/.ssh/config). Я получил скорость только до 350 Мбит/с максимум, но она сильно колебалась, я не думаю, что Rock64 может справиться с шифрами с таким объемом данных. И через некоторое время он замедлился до ползания (менее 1 Мбит/с) по какой-то причине, в которой я не уверен. Перезапуск передачи помог. (Может быть, не относится к вопросу).

Мне нужен шифр, который может работать на скорости не менее 480 Мбит/с. Вы, вероятно, можете немного снизить это число из-за реалистичных скоростей USB3. Не слишком беспокоюсь о безопасности, потому что это просто Ethernet-соединения от ПК > маршрутизатора > сервера, но отсутствие или слабое шифрование в любом случае было бы излишним. Поэтому предпочтительнее самый безопасный шифр, который может работать на скоростях выше.

решение1

Каждый шифр может поддерживать 480 Мбит/с, но многие ЦП не смогут выполнить этот шифр достаточно быстро. Поэтому вам нужна достаточно быстрая реализация для вашего ЦП.

Цепочка исполнения такова:

read from disk -> encrypt -> send over network -> decrypt -> write to disk

Итак, для начала вам нужно убедиться, что именно шифрование вам мешает.

Начните с ncвместо ssh

nc -l -p 9999 > /path/to/destination/file # on the receiving side
nc -N [ip.of.receiver.pc] 9999 < /path/of/original/file # on the sending side

Это исключит шифрование/дешифрование из цепочки и даст вам представление о фактически возможных скоростях.

Затем проверьте, есть ли у вашей отправляющей стороны аппаратное ускоренное шифрование для некоторых шифров. Скорее всего, нет, но попробовать стоит.

Попытка расшифровать arcfourкод может дать вам надежду

решение2

Я нашел интересную скорость шифрованияблог. Это дает вам представление о том, как измерить скорость шифрования без сети.

for i in `ssh -Q cipher`; do dd if=/dev/zero bs=1M count=100 2> /dev/null \
  | ssh -c $i someuser@localhost "(time -p cat) > /dev/null" 2>&1 \
  | grep real | awk '{print "'$i': "100 / $2" MB/s" }'; done

Таким образом, вы можете реально измерить производительность шифров на вашем конкретном оборудовании.

Связанный контент