¿Por qué se estanca scp? ¿Cómo lo resuelvo?

52

Cuando intenté copiar un archivo (de tamaño) a través de la red usando scp me sale un error <file> stalled ¿Por qué sucede esto? ¿Cómo lo resuelvo?

Lelouch Lamperouge
fuente
Me gusta rclone para esto; Nunca he tenido ningún problema con eso.
Hatshepsut
Cancelé y reinicié el comando scp y el problema desapareció para mí
kilojulios

Respuestas:

72

Esto sucede porque scpestá tratando de obtener el mayor ancho de banda posible y cualquier retraso (por un firewall, etc.) puede detenerlo. Limitar el ancho de banda (con la opción -l) lo arreglará.

Por ejemplo, es posible que desee limitar el ancho de banda a 1 MB / s (= 8192 Kbits / s):

 scp -l 8192 <file> <destination>

Fuente: http://www.aixmind.com/?p=1371 - Wayback Machine

muru
fuente
Gracias por su respuesta y el enlace a la fuente. Pero creo que su fuente dice que eso -l 8192significa 8192 Kbit / segundo, y -lpodría funcionar hasta 1 Mbit / segundo (que parece estar un poco desactualizado hoy en día).
elmicha
2
@elmicha 8192Kb == 1MB
Lelouch Lamperouge
@Eknath Oops, tienes razón.
elmicha
2
Solo para aclarar: el ejemplo limita el ancho de banda de scp a 8192 Kbit / segundo. El autor del artículo fuente sugiere que este número debería funcionar bien para conexiones de hasta 1 Mbit / segundo.
Erwin Wessels
1
Funcionó como un encanto :)
Saurabh
5

He logrado resolverlo usando rsync:

rsync -avz -e "ssh -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null" --progress /tmp/bigfile.txt [email protected]:/tmp/
usuario1453912
fuente
2

¿Hay alguna posibilidad de que esté detrás de un firewall Cisco ASA? Si es así, desactive la "aleatorización del número de secuencia" y eso será de gran ayuda, también deshabilite la descarga TCP (ethtool -K $ INTERFACE tso off gso off gro off) si está en un ASA de Cisco con NIC Broadcom en su servidor .

dotwaffle
fuente
Eso es genial. ¿Es ese cambio permanente o necesito poner el comando en alguna parte? Para que quede claro, debe configurarlo en su NIC, no en la interfaz cscotun.
mjaggard
1

Dado el mensaje de error que recibimos cuando el SCP se detuvo, sospeché que era el cifrado el que fallaba. "La autenticidad del host 'myserver (10.10.11.12)' no se puede establecer. La huella digital de la clave ECDSA es SHA256: + zkyskXlxVQ0kRorLW26pzprIYbsM4N3hbaDLz1RNpo" Con eso en mente ejecuté "scp -c aes128-ctr /tmp/test.dan/tig/test.dan/tig/test.dan/tig/test.dan/tmp/test.dan/tig/test.dan/ src myserver: / tmp / bigfile ". scp tuvo éxito con el cifrado alternativo. ¿Hay algún problema con el cifrado predeterminado que sopla un espacio de búfer?

Podría intentar agregar "-c" con un cifrado alternativo y ver si resuelve su bloqueo.

Dan Snavely
fuente