Transferir archivos de forma segura con el comando scp

Transferir archivos de forma segura con el comando scp.

En sistemas de tipo Unix o Linux, el comando scp se usa para hacer copias seguras. Es similar al comando cp, pero con una diferencia importante, scp es capaz de transferir archivos y directorios entre hosts a través de una red encriptada segura.

Para la transferencia de datos, scp hace uso del protocolo ssh, por lo tanto al usar la misma autentificación ofrece una alta seguridad. En este artículo, vemos cómo transferir archivos de forma segura con el comando scp.

 

Transferir archivos de forma segura con el comando scp

Antes de comenzar debes verificar que cumples con los siguientes requisitos:

  • Recuerda que la herramienta scp depende de ssh, es imprescindible tener contraseña ssh para poder autenticarse en el sistema remoto.
  • Asegurate de tener permisos de escritura en el sistema de destino.
  • El comando scp utiliza dos puntos (:) para distinguir entre local y remoto.
  • Si en el destino existe algún archivo con el mismo nombre, será sobreescrito sin avisar al usuario.
Sintaxis del comando scp

Como viene siendo habitual en este tipo de herramientas, es conveniente que entiendas la sintaxis del comando.

scp [OPTION] [user@]HOST_LOCAL:]archivo1 [user@]HOST_REMOTO:]archivo2

En [OPTION] tienes la posibilidad de insertar diversas opciones, como la configuración ssh, cifrado, límite, puerto ssh y más.
  1. [user@]HOST_LOCAL:]archivo1 – Url del archivo local
  2. [user@]HOST_REMOTO:]archivo2 – Url destino del archivo
Opciones del comando scp

Vemos las opciones más comunes.

INDICADORUSO
-PIndica el puerto ssh del host remoto
-pLas fechas de modificación, modos y tiempos, serán iguales al original
-qQuitar los posibles mensajes de error y el progreso
-CComprime los datos a enviar
-rCopia los directorios completos de forma recursiva
-SPermite definir cómo hacemos la conexión encriptada (normalmente SSH)
-vEl modo detallado permite ver los mensajes de progreso. Útil para depurar problemas de conexión, configuración o autenticación
Transferir archivos de local a remoto

Si queremos copiar un archivo local a un sistema remoto, ejecutamos algo similar a:

scp /home/sergio/archivo user@sitio_remoto.com:/home/sololinux/mis_archivos
Transferir archivos de remoto a local

Si por el contrario queremos copiar datos de forma segura, del sistema remoto al local…

scp user@sitio_remoto.com:/home/sololinux/mis_archivos/* /home/sergio/downloads
Transferir un directorio de local a remoto

Para copiar directorios completos recuerda que debes usar la opción recursiva, (-r).

scp -r /home/sergio/miCarpeta user@url_destino.com:/home/sololinux/directorio_remoto
Transferir archivos entre dos sistemas remotos

Si lo que necesitas es copiar un archivo o directorio entre dos sistemas remotos, ejecuta lo siguiente.

scp user1@host_remoto1.com:/ditectorio/archivo1 user2@host_remoto2.com:/directorio_destino

Como ultimo ejemplo del articulo, vemos como transferir entre dos sistemas remotos enrutando a través de nuestro host local con «-3».
scp -3 user1@host_remoto1.com:/ditectorio/archivo1 user2@host_remoto2.com:/directorio_destino

 

Canales de Telegram: Canal SoloLinux – Canal SoloWordpress

Espero que este articulo te sea de utilidad, puedes ayudarnos a mantener el servidor con una donación (paypal), o también colaborar con el simple gesto de compartir nuestros artículos en tu sitio web, blog, foro o redes sociales.

 

Agregar comentario