Existen cientos de comandos en Linux que han sido desarrollados para permitirnos ser más productivos o simplemente tener un mejor control sobre las diferentes tareas a realizar dentro del sistema, uno de estos comandos es el comando “scp” el cual nos da la posibilidad de copiar archivos a, desde o entre diferentes hosts en ambientes Linux. El comando scp (secure copy) hace uso de ssh para las tares de transferencia de datos y cuenta con la autenticación y seguridad de ssh.
- Del sistema local a un sistema remoto.
- Directamente de un sistema remoto al sistema local.
- Entre dos sistemas remotos hacia el sistema local.
scp [OPCION] [usuario@]SRC_HOST:]archivo1 [usuario@] HOST_DESTINO:]archivo2
- OPCION: permite indicar a scp parámetros como cifrado, configuración ssh, puerto ssh, límite, copia recursiva y más
- Usuario 1: archivo de origen.
- Usuario 2: archivo de destino.
- -P: indica el puerto ssh del host remoto.
- -p: permite conservar la modificación de archivos y los tiempos de acceso al mismo.
- -q: con esta opción podemos suprimir el medidor de progreso y los mensajes sin error generados.
- -C: se obliga a scp a comprimir los datos durante el envío al equipo de destino.
- -r: permite indicar a scp que copie directorios de forma recursiva los datos.
El comando scp, al estar basado en ssh, solicitará una clave o contraseña ssh para autenticarse en los sistemas remotos a usar y es necesario contar con permisos de lectura en el archivo de origen y permiso de escritura en el sistema de destino.
Ahora veremos cómo usar este comando para copiar archivos seguros en Linux.
Cómo usar comando SCP Linux
Si deseamos copiar un archivo de forma sencilla, por ejemplo, al directorio Home usaremos lo siguiente:
scp archivo.extension usuario@dominio.com:/home/usuario
Notemos que se lanza un mensaje de seguridad SHA256, ingresamos la contraseña y el archivo será copiado:
Podemos copiar un archivo de servidor a servidor ejecutando:
scp usuario1@dominio1.com:/home/usuario1/archivo.extension usuario2@dominio2.com:/home/usuario2/
Si deseamos copiar un directorio completo con scp podemos ejecutar la siguiente sintaxis:
scp -r /home/usuario/carpeta usuario@dominio.com:/home/usuario
Finalmente podemos limitar el ancho de banda a usar con el parámetro “l” así:
scp -l limite usuario@dominio.com:/home/usuario/archivo.extension DocumentosCon el comando scp disponemos de una alternativa simple pero fiable para copiar archivos de diversas formas en Linux de forma segura y completa.