Pourquoi scp est bloqué? Comment puis-je le résoudre?

52

Lorsque je tente de copier un fichier (de taille) sur le réseau à l'aide de scp, un message d'erreur <file> stalled s'affiche . Pourquoi cela se produit-il? Comment puis-je le résoudre?

Lelouch Lamperouge
la source
J'aime cloner pour ça; Je n'ai jamais eu de problèmes avec ça.
Hatshepsut
J'ai annulé et relancé la commande scp et le problème est parti pour moi
kilojoules

Réponses:

72

Cela est dû au scpfait que nous essayons de capturer le plus de bande passante possible et que tout retard (par un pare-feu, etc.) peut le retarder. Limiter la bande passante (avec l'option -l) le corrigera.

Par exemple, vous pouvez limiter la bande passante à 1 Mo / s (= 8192 Kbits / s):

 scp -l 8192 <file> <destination>

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

muru
la source
Merci pour votre réponse et le lien vers la source. Mais je pense que votre source dit que cela -l 8192signifie 8192 Kbit / seconde, et que cela -lpourrait fonctionner jusqu'à 1 Mbit / seconde (ce qui semble être un peu obsolète de nos jours).
Elmicha
2
@elmicha 8192Kb == 1MB
Lelouch Lamperouge
@Eknath Oops, vous avez raison.
Elmicha
2
Juste pour clarifier: l'exemple limite la bande passante de scp à 8 192 Kbit / seconde. L'auteur de l'article source suggère que ce nombre devrait fonctionner correctement pour des connexions allant jusqu'à 1 Mbit / seconde.
Erwin Wessels
1
A travaillé comme un charme :)
Saurabh
5

J'ai réussi à le résoudre en utilisant rsync:

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

Avez-vous une chance d'être derrière un pare-feu Cisco ASA? Si tel est le cas, désactivez la "randomisation des numéros de séquence" et cela vous aidera beaucoup - désactivez également le déchargement TCP (ethtool -K $ INTERFACE tso off gso off gro gro off) si vous êtes sur un Cisco ASA avec des NIC Broadcom sur votre serveur. .

dotwaffle
la source
C'est du génie. Ce changement est-il permanent ou dois-je mettre la commande quelque part? Pour être clair, vous devez définir cela sur votre carte réseau, pas sur l'interface cscotun.
mjaggard
1

Compte tenu du message d'erreur que nous avons reçu lorsque le SCP s'est bloqué, je soupçonnais que c'était le cryptage qui échouait. "L’authenticité de l’hôte 'myserver (10.10.11.12)' ne peut pas être établie. L’empreinte de la clé ECDSA est SHA256: + zkyskXlxVQ0kRorLW26pzprIYbsM4N3hbaDLz1RNpo" Dans cet esprit, j’ai lancé "scp -c aes128-ctr /ttr/test/". src myserver: / tmp / bigfile ". scp a réussi avec le chiffrement alternatif. Y at-il un problème avec le chiffrement par défaut qui fait exploser un espace tampon?

Essayez d’ajouter "-c" avec un autre chiffre et de voir s’il résout votre problème.

Dan Snavely
la source