Cómo usar el comando SCP en Linux

En este tutorial, le mostraremos cómo usar el comando scp en Linux. Para aquellos de ustedes que no lo sabían, SCP (Copia segura) es una herramienta de línea de comandos en sistemas Linux y tipo Unix que se utilizan para transferir archivos y directorios a través de los sistemas de forma segura a través de la red. Utiliza el subsistema Secure Shell SFTP para la transferencia de datos, utiliza la misma autenticación y proporciona la misma seguridad que Secure Shell. Scp pedirá contraseñas o frases de contraseña si son necesarias para la autenticación. De forma predeterminada, el comando SCP está incluido en Linux y Mac, por lo que no necesita descargar nada con esos sistemas operativos.

Este artículo asume que tiene al menos conocimientos básicos de Linux, sabe cómo usar el shell y, lo más importante, aloja su sitio en su propio VPS. La instalación es bastante simple y asume que está ejecutando en la cuenta de root, de lo contrario, es posible que deba agregar ‘sudo‘a los comandos para obtener privilegios de root. Le mostraré paso a paso los comandos scp de uso en Linux con ejemplos prácticos.

Utilice el comando SCP en Linux

SCP (copia segura) es una utilidad de línea de comandos que le permite copiar de forma segura archivos y directorios entre dos ubicaciones.

  • Sintaxis básica del comando SCP.

Por defecto, el protocolo SCP opera en un puerto 22 a menos que sea reemplazado por una opción de línea de comandos. Todo scp Los comandos siguen la forma:

[[email protected] ~]# scp [OPTIONS] [SOURCE] [DESTINATION]

  • Transferir archivos locales a un destino remoto.

Para example, Subimos un archivo desde nuestra computadora local a una ubicación remota. Con SCP, podemos lograr esto con un comando como:

[[email protected] ~]# ruta scp / a / local / file.txt [email protected]: ruta / a / remoto / archivo.txt

Después de ejecutar este comando anterior, se mostrará un mensaje para la contraseña correspondiente a la cuenta de usuario del host remoto. Una vez ingresada la contraseña, se copiará el archivo.

  • Transferir archivo remoto a un destino local.

Ahora podemos copiar un archivo desde una computadora remota a nuestra máquina local:

[[email protected] ~]# scp [email protected]: ruta / a / remoto / archivo.txt ruta / a / local / archivo.txt

  • Transferir archivo remoto a destino remoto.

Ejecutar el siguiente formato de comando se usa para transferir un archivo entre dos hosts remotos:

[[email protected] ~]# scp [email protected]: ruta / a / remoto / archivo.txt [email protected]: ruta / a / remoto / archivo.txt

  • Copia de directorios.

El -r la bandera se puede usar para copiar de forma recursiva una carpeta y su contenido en lugar de un solo archivo:

[[email protected] ~]# scp -r ruta / a / local / mi-carpeta [email protected]: ruta / a / remoto / mi-carpeta

  • Modo suprimido.

El -q flag suprime el medidor de progreso y los mensajes que no son de error para que su terminal se mantenga limpio:

[[email protected] ~]# scp -q ruta / a / local / file.txt [email protected]: ruta / a / remoto / archivo.txt

  • Archivo de par de claves de autenticación.

El -i la bandera se puede usar para autenticar la conexión usando un par de claves criptográficas almacenadas en un archivo en lugar de un nombre de usuario y contraseña:

[[email protected] ~]# scp -i ruta / a / local / keypair.pem ruta / a / local / file.txt [email protected]: ruta / a / remoto / archivo.txt

  • Uso de múltiples opciones de SCP.

Esto es un example que implementa múltiples banderas para copiar una carpeta desde un host remoto a nuestra máquina local usando un archivo de par de claves para la autenticación en el puerto 999 mientras preserva las propiedades del archivo y suprime la salida:

[[email protected] ~]# scp -p -q -P 999 -i ruta / a / local / keypair.pem -r ruta / a / local / carpeta [email protected]: ruta / a / remoto / carpeta

¡Felicidades! Ha aprendido con éxito a utilizar el Comando SCP. Gracias por usar este tutorial para Cubrimos la transferencia de archivos del host local a un host remoto, de un host remoto al host local y entre dos hosts remotos en un sistema Linux.