scp -3 ya no funciona

scp -3 ya no funciona

Estoy intentando transferir un archivo grande entre dos hosts remotos (ambos en subredes diferentes). Encontré que este comando funcionó la primera vez:

scp -3 root@foo:/path/to/largefile user@bar:/path/to/where/it/should/go/

El comando funcionó la primera vez, ahora, cuando intento ejecutarlo nuevamente para transferir los otros archivos, nunca se transfiere. En lugar de eso, recibo una solicitud de contraseña y luego sale con un código de salida 1. Al ejecutarlo, -vobtengo:

debug1: Sending command: scp -v -f /run/sr-mount/3e3a905f-28ad-01b4-d50a-1ffe151ed28a/debian-8.8.0-amd64-CD-1.iso
Sending file modes: C0644 660602880 debian-8.8.0-amd64-CD-1.iso
Sink: C0644 660602880 debian-8.8.0-amd64-CD-1.iso
debug1: client_input_channel_req: channel 0 rtype exit-status reply 0
debug1: client_input_channel_req: channel 0 rtype [email protected] reply 0
debug1: channel 0: free: client-session, nchannels 1
debug1: fd 0 clearing O_NONBLOCK
debug1: fd 1 clearing O_NONBLOCK
Transferred: sent 2480, received 2372 bytes, in 0.1 seconds
Bytes per second: sent 32882.6, received 31450.6
debug1: Exit status 1
debug1: client_input_channel_req: channel 0 rtype exit-status reply 0
debug1: channel 0: free: client-session, nchannels 1
debug1: fd 0 clearing O_NONBLOCK
debug1: fd 1 clearing O_NONBLOCK
Transferred: sent 2904, received 2964 bytes, in 3.3 seconds
Bytes per second: sent 893.5, received 912.0
debug1: Exit status 1

¿Alguien puede decirme por qué de repente este comando ya no funciona? Revisé /var/log/syslogy no encontré nada..

Respuesta1

Puede utilizar -vvvpara obtener más información del registro. Pero el problema -3es que no se puede obtener razonablemente ninguna información de depuración sobre los errores desde los lados remotos (error ascendente con parche). Los mensajes de error se envían de un lado a otro y no hay lugar para mostrarlos (sin introducir cierta complejidad).

Para tener una idea de lo que podría salir mal, probablemente sea más fácil asegurarse de que el archivo fuente sea legible correctamente (y que no haya ningún error tipográfico en el nombre) y que se pueda escribir en la carpeta de destino, que haya suficiente espacio en el disco, etc.

ssh root@foo stat /path/to/largefile
ssh user@bar stat /path/to/where/it/should/go/

Otra posibilidad es compilar OpenSSH desde el código fuente y aplicar el parche vinculado anteriormente. Debería imprimir los errores en el cliente (debería ser suficiente hacerlo solo en su máquina).

O simplemente use rsync, que es más adecuado en términos de rendimiento, rendimiento y usabilidad.

información relacionada