¿Cuál es el cifrado más seguro para ssh que puede enviar archivos a velocidades USB3? (~480 Mbps)

¿Cuál es el cifrado más seguro para ssh que puede enviar archivos a velocidades USB3? (~480 Mbps)

Tengo una conexión gigabit entre mi PC y mi servidor (las pruebas de iperf3 muestran ~930 Mbps) y quiero poder transferir archivos grandes lo más rápido posible. El disco duro del servidor está conectado mediante USB3 y es un Rock64. Con ssh (estoy usando btrbk con ssh), creo que el cuello de botella probablemente sea ssh debido al alto uso de la CPU y las altas temperaturas (~60C). Desactivé la compresión aunque creo que está deshabilitada de forma predeterminada (póngala en ~/.ssh/config). Solo obtuve velocidades de hasta 350 Mbps como máximo, pero fluctuaron mucho, no creo que el Rock64 pueda manejar cifrados con tanta información. Y después de un tiempo, la velocidad se ralentizó (menos de 1 Mbps) por alguna razón de la que no estoy seguro. Reiniciar la transferencia funcionó. (Puede no ser relevante para la pregunta).

Necesito un cifrado que pueda funcionar a unos 480 Mbps como mínimo. Sin embargo, probablemente puedas reducir un poco ese número debido a las velocidades realistas de USB3. No me preocupa demasiado la seguridad porque son solo conexiones Ethernet desde PC> enrutador> servidor, pero un cifrado débil o nulo sería excesivo de todos modos. Entonces, preferiblemente el cifrado más seguro que pueda funcionar a velocidades superiores.

Respuesta1

Cada cifrado puede soportar 480 Mbps, pero muchas CPU no podrán realizar ese cifrado lo suficientemente rápido. Entonces, lo que busca es una implementación lo suficientemente rápida para su CPU.

La cadena de ejecución es

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

Entonces, primero todo lo que necesitas asegurarte es que realmente es el cifrado lo que te obstaculiza.

Comience con ncen lugar de 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

Esto eliminará el cifrado/descifrado de la cadena y le dará una idea de las velocidades reales posibles.

A continuación, verifique si su lado emisor tiene cifrado acelerado por hardware para algunos cifrados. Lo más probable es que no sea así, pero vale la pena intentarlo.

Probar el arcfourcifrado podría darte esperanza

Respuesta2

Encontré una velocidad de cifrado interesante.Blog. Le da una idea de cómo medir la velocidad de cifrado sin red.

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

De esta manera, puede medir el rendimiento de los cifrados en su hardware específico.

información relacionada