Cómo usar el comando SCP

Cómo usar el comando SCP
En Linux, la copia de archivos en el sistema local es manejado por el comando CP. Cuando se trata de copiar archivos a través de sistemas remotos, el comando SCP es el camino a seguir. El comando SCP aprovecha el protocolo SSH para copiar archivos entre dos ubicaciones.

En esta guía, consulte cómo usar el comando SCP en Linux.

Comando SCP de Linux

El comando SCP viene preinstalado en todas las distribuciones de Linux. No hay necesidad de ninguna instalación de paquete adicional.

Trabajar con SCP requiere que SSH esté instalado en las máquinas locales y remotas. La herramienta SCP en sí usa SSH en el núcleo. Se refleja durante todo el uso de SCP. La sintaxis y el uso son bastante similares a trabajar con SSH. Si tiene experiencia previa con SSH, entonces SCP será más fácil de entender. Aquí hay una guía rápida sobre cómo usar SSH.

Similar a SSH, el comando SCP se conectará a una determinada cuenta de usuario en el sistema remoto. Necesita conocer el nombre de usuario y la contraseña de la cuenta de usuario. Tenga en cuenta que la cuenta de usuario remoto también debe tener permiso de archivo al directorio de destino (en el sistema remoto). Aquí hay una guía en profundidad sobre los permisos de archivos de Linux y la propiedad.

La transferencia de datos con SCP está encriptada, por lo que no es necesario temer robo de datos.

Usando SCP

Estructura de comando básica:

Todos los comandos SCP generalmente seguirán la siguiente estructura de comando. Aquí, copiaremos un archivo de la máquina local a la máquina remota.

$ SCP : @: & ltremote_directory>

Aquí hay un desglose rápido de la estructura de comando.

  • : Varios parámetros SCP que definen el comportamiento de SCP, por ejemplo, puerto SSH, configuración SSH, cifrado, copia recursiva, etc.
  • :: Similar al comando Linux CP, es la "fuente". Define el archivo de origen/directorio para copiar a la ubicación de destino.
    Si no se proporciona "", entonces SCP asume automáticamente que es el nombre de usuario local en la máquina local.
  • @:: Similar al comando CP, es el "destino". La estructura es similar a la que ingresaría al conectarse a un sistema remoto a través de SSH.
    Si no se proporciona "", entonces SCP asume automáticamente que es el nombre de usuario local en la máquina local.

Copiar un archivo local a un directorio remoto

Aquí hay un archivo de texto ficticio. Es un archivo de texto de 2 MB que contiene texto repetitivo.

$ Cat Dummy.TXT

El siguiente comando SCP copiará el archivo de texto a la máquina remota. Use el indicador "-V" para la salida detallada.

$ scp -v/home/Viktor/Desktop/Dummy.Txt [email protected]:/Home/Cloudsigma

Si desea guardar el archivo con un nombre diferente, debe especificar el nombre de archivo en el destino. Por ejemplo, el siguiente comando guardará "Dummy.txt "como" renombrado-monstruo.txt ”en la máquina remota.

$ scp/home/Viktor/Desktop/Dummy.Txt [email protected]:/home/Cloudsigma/renombrado Dummy.TXT

Copiar un archivo remoto a la máquina local

El comando SCP también puede copiar un archivo remoto a un directorio local.

Para la demostración, "Dummy.txt "se almacena en una máquina remota. Para copiarlo localmente, use el siguiente comando.

$ SCP [email protected]:/hogar/nubesigma/muñeco.txt/home/Viktor/

Para guardar el archivo con un nombre de archivo diferente, especifique el nombre de archivo en el comando.

$ SCP [email protected]:/hogar/nubesigma/muñeco.txt/home/viktor/fummy-local.TXT

Copiar archivos entre máquinas remotas

Como sugiere la estructura de comando de SCP, también es posible copiar archivos entre servidores remotos. Todo lo que tiene que hacer es describir la fuente y el destino en consecuencia.

Por ejemplo, copiemos el archivo "ficticio.txt ”de una máquina remota a otra.

$ SCP -V [email protected]:/hogar/nubesigma/muñeco.Txt [email protected]:/hogar/nubesigma/copia ficticia.TXT

Copiar múltiples archivos

¿Qué pasaría si quisiera copiar varios archivos?? Dependiendo de la ubicación de la fuente, el comando puede ser bastante grande.

En el siguiente ejemplo, copiemos Dummy_1.txt, dummy_2.txt y dummy_3.txt a la máquina remota.

$ SCP Dummy_1.txt dummy_2.txt dummy_3.Txt [email protected]:/Home/Cloudsigma

Si el nombre de archivo sigue un determinado patrón, podemos describir el patrón para elegir los archivos de origen. En este ejemplo, podemos usar comodín (*) para copiar todos los archivos de texto.

$ SCP Dummy_*.Txt [email protected]:/Home/Cloudsigma

Aumento de la velocidad de transferencia de archivos utilizando la compresión

El comando SCP intercambia el tráfico a través de una red. Es el ancho de banda de la red que finalmente determina la velocidad de transferencia de archivos. Sin embargo, dado un ancho de banda fijo, es posible aumentar la velocidad de transferencia de archivos efectiva utilizando la compresión. La herramienta SCP tiene una característica incorporada.

Lo único es que los datos se comprimen solo en la red. Cuando el archivo llega al destino, vuelve al tamaño original.

Para habilitar la compresión, use la bandera "-c".

$ scp -c dummy_*.Txt [email protected]:/home/Cloudsigma/

Algoritmo de cifrado

Como se mencionó anteriormente, SCP cifra la transferencia de datos para evitar el robo de datos. De forma predeterminada, los datos se cifran utilizando el cifrado AES-128. Es posible usar cifra diferente para el cifrado.

Para el cifrado, SCP usa SSH. El siguiente comando SSH enumerará todos los cifrados compatibles. Todos ellos son válidos para SCP también.

$ ssh -q cifrado

Por ejemplo, el siguiente comando SCP utilizará el algoritmo AES256-CTR para el cifrado de archivos.

$ scp -c -c aes256 -ctr dummy_*.Txt [email protected]:/home/Cloudsigma/

Limitación de ancho de banda

Por defecto, SCP utilizará el ancho de banda máximo disponible para copiar archivos. Sin embargo, puede ser problemático en varias situaciones. Por ejemplo, usando un script automatizado para copia de seguridad.

Para limitar el ancho de banda, use la bandera "-l" seguida del límite de ancho de banda. Aquí, el valor límite de ancho de banda será en kilobits/seg (KBPS).

$ scp -c -l 800 ficticio.Txt [email protected]:/home/Cloudsigma/maniquí-remoto.TXT

Especificación de puerto

Similar a SSH, SCP usará el puerto 22 de forma predeterminada. Sin embargo, si SSH está configurado para operar en un puerto diferente, entonces debe declararse en el comando.

Para especificar el puerto específico, use el indicador "-P" seguido del número de puerto.

$ SCP -C -P 1234 Dummy.Txt [email protected]:/home/Cloudsigma/maniquí-remoto.TXT

Copiar directorio recursivamente

Similar al comando CP, para copiar un directorio y todos los subdirectorios/archivos dentro de él, use el indicador "-r". Si el directorio contiene muchos archivos/carpetas, se recomienda usar compresión para una transferencia de datos más rápida.

Aquí hay un directorio de demostración con archivos y directorios ficticios.

$ Tree Dummy

El siguiente comando copiará este directorio a la ubicación remota.

$ SCP -C -R Dummy/ [email protected]:/Home/Cloudsigma

Desactivar el medidor de progreso y los mensajes de advertencia

El comportamiento predeterminado de SCP es informar el progreso de la operación y los mensajes de advertencia/diagnóstico en la pantalla. Sin embargo, es posible deshabilitar toda esta información de salida. Es útil si estás implementando SCP en un script.

Para deshabilitar la progresión y los mensajes de advertencia/diagnóstico, use la bandera "-Q".

$ scp -c -q muñeco.Txt [email protected]:/home/Cloudsigma/maniquí-remoto.TXT

Conclusión:

Usar el comando SCP es muy simple. Todo lo que necesita es tener una comprensión y experiencia adecuadas usando SSH. Estos son solo algunos de los métodos más básicos para usar SCP. Para obtener más información en profundidad sobre SCP, consulte la página del hombre.

$ hombre SCP

Computación feliz!