![Transferir un archivo de un servidor a otro servidor, iniciado desde una tercera computadora](https://rvso.com/image/1567484/Transferir%20un%20archivo%20de%20un%20servidor%20a%20otro%20servidor%2C%20iniciado%20desde%20una%20tercera%20computadora.png)
Estoy intentando realizar una transferencia de sitio a sitio con la siguiente configuración. Tengo un servidor antiguo (servidor A), el servidor nuevo (servidor B) y mi estación de trabajo (semanas), en los que me gustaría iniciar la transferencia.
El intercambio de claves SSH se ha realizado entre wks y el servidor A/B.
El servidor A y el servidor B no intercambian claves.
Probé el siguiente comando desde mi estación de trabajo
scp -r root@server-A:/path/to/source/ root@server-B:/destination/path
pero no funciona. Según tengo entendido, el servidor A intenta conectarse al servidor B y, como no se realiza ningún intercambio de claves, falla.
¿Alguna idea de cómo hacer que la transferencia de archivos funcione para esta configuración en particular?
Respuesta1
La transferencia de archivos mediante una conexión directa entre el servidor A y el servidor B es el método preferido. Esto es lo que scp
se intenta hacer. La parte relevante deman 1 scp
:
-3
Las copias entre dos hosts remotos se transfieren a través del host local. Sin esta opción, los datos se copian directamente entre los dos hosts remotos. Tenga en cuenta que esta opción desactiva el medidor de progreso.
Tienes razón en que sin la -3
opción "el servidor A intenta conectarse al servidor B". Mis pruebas indican que incluso si el servidor B permite la autenticación basada en contraseña, lo más probable es que el problema sea interactuar con tty (mientras se solicita la contraseña). En tal casoeste comentarioparece útil:
ssh
en el servidor A, inicie elscp
servidor A (un comando). Evita copiar los archivos dos veces.
Después de invocarlo explícitamente ssh
en el servidor A, scp
no debería tener problemas para interactuar con tty mientras solicita la contraseña del servidor B. Alternativamente, puede ssh
ingresar al servidor B e invocarlo scp
allí.
Si es imposible (se requiere clave, contraseña no permitida), utilícela scp -3
en su estación de trabajo. Obviamente, esto utilizará su máquina local como una especie de proxy, por lo que los datos fluirán hacia abajo y hacia arriba por sus conexiones de red.
Sin embargo, no todas scp
las implementaciones son compatibles -3
.