Copiar archivos entre servidores con SCP Linux

Secure Copy o SCP es un medio de transferencia segura de archivos entre un host local y un servidor remoto o entre dos hosts remotos, usando el protocolo Secure Shell (SSH). Al usar el mismo protocolo de transferencia y conexión que ssh, es una modo de transferencia bastante seguro que se suele usar en sistemas automáticos de backup.

Al igual que ssh, scp nos pedirá autenticación para acceder a la máquina. También se puede crear el par de claves, publica y privada para que el proceso de autenticación sea automático, es decir, que no nos solicite el password. Especificando en el archivo authorized_keys del servidor remoto la clave publica del servidor local.

A continuación indico un par de ejemplos para copiar archivos entre varios servidores, primero copiando archivos de un servidor remoto a nuestro ordenador local y copiando un archivo de nuestro ordenador o servidor local a un servidor remoto.

Copiar archivos de un servidor remoto a local

scp -pr  USUARIO@IP_SERVER_REMOTO:/path/server/remoto /path/server/local

Modificadores:
-p Mantiene los registros de fecha de creación y última modificación,así como los permisos.
-r Copia recursivamente los directorios enteros.
-P numero de puerto, en caso que use un puerto diferente al de por defecto, 22. Ejemplo -P 45459. Habría que poner este modificador antes de indicar el usuario y la ip. Ejemplo:

scp  -P 45459 -pr  USUARIO@IP_SERVER_REMOTO:/path/server/remoto /path/server/local

Nota: el puerto 45459, es un puerto aleatorio que estoy usando para este ejemplo.

Copiar un archivo del servidor local a un servidor remoto

El comando scp también se puede utilizar para copiar archivos de nuestro servidor local a un servidor remoto.
Tan sólo hay que especificar antes del usuario y el host remoto, el path del archivo o directorio que queremos copiar.
En el siguiente ejemplo, voy a copiar mi clave publica a el servidor remoto.

scp /home/pedro/.ssh/id_rsa.pub  USUARIO@IP_SERVER_REMOTO:/home/pedro/clave_publica.txt

Como en el caso anterior, también se puede poner el modificador -P justo después de escribir el comando scp para indicar que se conecte por otro puerto diferente al predeterminado.

scp -P 45459 /home/pedro/.ssh/id_rsa.pub  USUARIO@IP_SERVER_REMOTO:/home/pedro/clave_publica.txt

Tags de búsquedas:

scp linux,comando scp linux,linux scp,copiar archivos entre servidores linux,comando scp,scp en linux,copiar archivos de un servidor linux a otro,copiar archivos de un servidor a otro linux,copiar archivos entre servidores,transferir archivos entre servidores linux,copiar directorios de un servidor a otro,scp con puerto diferente al 22,scp comando linux,copiar entre servidores con scp,copiar archivos en linux de un servidor a otro

Noticias relacionadas »

21 comentarios en Copiar archivos entre servidores con SCP Linux

  1. Héctor
    / Responder

    Hola, gracias por el aporte.
    Me preguntaba si es posible copiar con scp sólo parte de los archivos de un directorio. Se fue la conexión durante la descarga y sólo copié algunos archivos, entonces quería saber si hay alguna forma de descargar sólo los que me faltan (sin modificar la estructura original del directorio). Muchas gracias.

  2. robert
    / Responder

    Tengo un problema, al intentar copiar un zip de mi maquina local (mac) a mi servidor remoto (ubuntu) usando scp me sale el siguiente mensaje:
    Permiso denegado (publickey)
    lost connection

  3. Rodrigo Pichinual
    / Responder

    Gracias por la info…. corta pero valiosa…

  4. Karen
    / Responder

    Hola una pregunta , quiero copiar una archivo de mi computadora ( S.O windows) a una carpeta de una computadora ( S.O Linux), es lo mismo ????

    • Pedro Ventura
      / Responder

      Hola Karen,

      No es el mismo SO, por lo que debes instalar algún software a través del cual se pueda realizar la transferencia de archivos entre los mismos, puedes probar a instalar el servicio llamado SAMBA. Como puedo intuir que no tienes mucha experiencia en admon de sistemas, lo más fácil para ti ahora es que si tienes acceso a ambas computadoras, es que hagas la transferencia de archivos manualmente con un pendrive, se que es la respuesta más evidente pero a veces lo más fácil es lo mejor.

    • israel
      / Responder

      si se puede , si esta en red con scp indicando bien la ruta donde esta tu archivo y la ruta destino, (haciendolo desde la computadora con linux)

      y la opcion facil es copiarlos de la computadora windows a una usb y de la usb a la computadora con linux

  5. Javier
    / Responder

    Muchas gracias, me ha sido muy útil tu explicación.

  6. david
    / Responder

    He intentado realizar una copia remota de servidores con parametro -p, pero no me copia los propietarios, todas las carpetas quedan con owner ROOT al igual que los grupos, cual seria la solucion

    yo estoy usando el usuario root y me conecto a la otra maquina tambien con el usuario root, si me cambio a usuario normal me da error al copiar, los siguientes errores (de distintos intentos enumerados)
    1. RSA key fingerprint is xxxx
    2. (RSA) to the list of known hosts
    3. stdin: is not a tty

  7. Emilio
    / Responder

    Estoy buscando y no encuentro si es posible hacer el SCP sólo envie archivos que no existan ya en el servidor destino… Si falla por cualquier cosa no tienes que empezar de cero.

    Alguien sabe si SCP lo permite?

    Saludos.

  8. Alberto
    / Responder

    Buen dia, este articulo es muy bueno es mucho de lo que estoy buscando que quiero hacer, pero tengo una duda como se maneja eso de authorized_keys quiero hacer un script con este tema pero quiciera que fuera automatica la autentificacion. Muchas gracias.

  9. Tadeo
    / Responder

    Agradecido camarada muy explicito y util tus ejemplos..

  10. Roberto
    / Responder

    Excelente aporte.

  11. David
    / Responder

    exelente aporte, gracias por compartir ese conocimiento

  12. anthony
    / Responder

    EXCELENTE ME SIRVIÓ UN MONTÓN GRACIAS.

  13. barnarasta
    / Responder

    Buena informacion!
    pero yo me encuentro con un problema, estoy migrando de SCO a Debian y utilizaba UUCP para el transporte de archivos ‘tar’+’gzip’ con clave para las actualziaciones diarias entre las tiendas y la central.
    La gran ventaja es que el demonio de uucp esta siempre intentando enviar los datos y no se trata de una unica conexion.
    Con scp intuyo que se trata de solo un intento, si el receptor esta OUT el envio se pierde y se tiene que volver a ejecutar.
    Alguien que use scp puede confirmarme esto?
    Gracias

  14. rené
    / Responder

    muy buen dato, saludos

  15. Matias
    / Responder

    Excelente aporte, yo nativo de windows, descubri que con ssh y linux administrar mi servidor web es mucho mas facil, basicamente buscaba como copiar y pegar desde el ssh. despues de un largo rato de leerlo y entender como minimamente trabaja linux logre empezar a manejar codigos, muy potente, ya mismo bajando ubunto para seguir practicando. Muchas gracias

  16. Naylea
    / Responder

    Excelente !!!

  17. Caracalla
    / Responder

    Muchas gracias, muy útil y bien explicado.

  18. Fermin
    / Responder

    Excelente post… me ayudo mucho.

  19. juan
    / Responder

    Muy buen aporte

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Invertir en criptomonedas: »

 

Cómo comprar bitcoin

Invertir y comprar Bitcoin y otras altcoins es más fácil de lo que crees.

1) Si sólo quieres comprar Bitcoin, Ethereum o Litecoin como inversión, tu opción es Coinbase

2) Si quieres probar con otras criptomonedas tu opción es Binance

3) Cualquier duda escríbeme con total libertad al formulario de contacto para resolver dudas: https://www.pedroventura.com/contacto/

¡Comparte este artículo! »

  • Zein (1 día)
    EXELENTEE!!! MIL PUNTOS PARA TI! si me funcionó a la…
  • señales cryptowhale (2 días)
    https://t.me/SignalsWins
  • carlos hernandez (1 semana)
    Hola, hay alguna funcion k sirva para saber el correo…
  • steven (3 semanas)
    tengo un problema me sale este error cuando pongo data:…
  • lewis rod (4 semanas)
    https://t.me/joinchat/Hs_yUFG_xDVJ-PS3cWEYAw este es el enlace me equivoque.
  • lewis rod (4 semanas)
    https://t.me/joinchat/Hs_yUBDhw2Uk7D3D835GJQ grupo de telegram latino sudamericano peru, colombia, ecuador, chile,…

Suscríbete al newsletter »

Proporciona tu correo electrónico a continuación y recibe las últimas noticias! Funciona con Feedburner de Google

Archivo »

Leer entrada anterior
Cambiar el status de facebook desde una web externa o blog.

Una nueva manera de personalizar nuestro site con el SDK de Javascript es usar la función FB.ui. Esta función invoca...

Cerrar