Tengo un archivo grande en el servidor one
y quiero copiarlo al servidor two
usando scp
. Tengo las claves configuradas correctamente y puedo enviar ssh / scp a ambos servidores desde mi escritorio.
El archivo que necesito copiar es más grande que el espacio libre en el disco duro de mi estación de trabajo, así que quería hacer:
scp one:/opt/bigfile.tar.gz two:/opt/bigfile.tar.gz
pero tengo:
ssh: Could not resolve hostname one: Name or service not known
No tenemos DNS aquí (no me preguntes por qué), así que tengo esto en mi ~ / .ssh / config:
Host one
Hostname <IP address of server one>
User jspurny
Host two
Hostname <IP address of server two>
User jspurny
Si intento con un archivo más pequeño y lo transfiero one
a mi estación de trabajo y luego a two
, funciona bien:
scp one:/opt/smallerfile.tar.gz .
scp smallerfile.tar.gz two:/opt/
Al usar direcciones IP directamente como se sugiere en el comentario, obtuve:
$ scp jspurny@<one's IP>:bigfile.tar.gz jspurny@<two's ip>:bigfile.tar.gz
Host key verification failed.
lost connection
No es un problema:
El tamaño no es un problema aquí, solo fue un "desencadenante" de este problema, ya que no había forma de almacenarlo bigfile.tar.gz
en mi estación de trabajo. El problema ocurre independientemente del tamaño del archivo.
Pregunta:
¿Por qué el comando:
scp oneremote:file secondremote:file
arroja un error independientemente de si usa .ssh/config
alias o directamente usando direcciones IP?
Resuelto, más o menos, aún en busca de explicación , he dividido el archivo grande en archivos más pequeños y los transferí uno por uno a través de mi estación de trabajo. Todavía me pregunto por qué no funcionó. Así que aún agradecería alguna explicación de lo que estaba mal ...
Encontré una razón por la que falla: parece que estaba siendo tonto. Yo pensaba que el comando
scp one:file two:file
estaba creando dos conexiones a cada servidor y luego recibía datos de uno e inmediatamente los enviaba a dos y así actuaba como un relé.
Claramente, este no es el caso, porque una -v
opción simple reveló que de hecho solo se conecta a uno y desde uno intenta conectarse a dos . Lo que obviamente no es posible porque se supone que el servidor uno no se conecta a dos .