En este tutorial, le mostraremos cómo usar el comando scp en Linux. Para aquellos que no lo sabían, SCP (Secure Copy) es una herramienta de línea de comandos en Linux. y sistemas similares a 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 SFTP de Secure Shell para la transferencia de datos, utiliza la misma autenticación y proporciona la misma seguridad que Secure Shell. Scp solicitará contraseñas o frases de contraseña si son necesarias para la autenticación. De forma predeterminada, el comando SCP se incluye 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 que es más importante, aloja su sitio en su propio VPS. La instalación es bastante simple y asume que se están ejecutando en la cuenta raíz, si no, es posible que deba agregar 'sudo
' a los comandos para obtener privilegios de root. Le mostraré el uso paso a paso de los comandos SCP en Linux con ejemplos prácticos.
Requisitos previos
- Un servidor que ejecuta uno de los siguientes sistemas operativos:basado en Ubuntu o basado en RHEL.
- Se recomienda que utilice una instalación de sistema operativo nueva para evitar posibles problemas.
- Acceso SSH al servidor (o simplemente abra Terminal si está en una computadora de escritorio).
- Un
non-root sudo user
o acceder alroot user
. Recomendamos actuar como unnon-root sudo user
, sin embargo, puede dañar su sistema si no tiene cuidado al actuar como root.
Usar el comando SCP en Linux
SCP (copia segura) es una utilidad de línea de comandos que le permite copiar archivos y directorios de forma segura entre dos ubicaciones.
- Sintaxis básica del comando SCP.
De forma predeterminada, el protocolo SCP opera en un puerto 22
a menos que sea anulado 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.
Por ejemplo, subimos un archivo desde nuestra computadora local a una ubicación remota. Con SCP, podemos lograr esto con un comando como:
[[email protected] ~]# scp path/to/local/file.txt user@remote-host:path/to/remote/file.txt
Después de ejecutar este comando anterior, aparecerá un mensaje con la contraseña correspondiente a la cuenta de usuario del host remoto. Una vez que se ingrese 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 user@remote-host:path/to/remote/file.txt path/to/local/file.txt
- Transferir archivo remoto a destino remoto.
Ejecute el siguiente formato de comando que se usa para transferir un archivo entre dos hosts remotos:
[[email protected] ~]# scp user1@remote-host1:path/to/remote/file.txt user2@remote-host2:path/to/remote/file.txt
- Copiar directorios.
El -r
la bandera se puede usar para copiar recursivamente una carpeta y su contenido en lugar de un solo archivo:
[[email protected] ~]# scp -r path/to/local/my-folder user@remote-host:path/to/remote/my-folder
- Modo Suprimido.
El -q
la bandera suprime el medidor de progreso y los mensajes que no son de error para que su terminal se mantenga limpio:
[[email protected] ~]# scp -q path/to/local/file.txt user@remote-host:path/to/remote/file.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 path/to/local/keypair.pem path/to/local/file.txt user@remote-host:path/to/remote/file.txt
- Uso de varias opciones de SCP.
Este es un ejemplo que implementa varios indicadores para copiar una carpeta desde un host remoto a nuestra máquina local utilizando un archivo de par de claves para la autenticación en el puerto 999 mientras se conservan las propiedades del archivo y supresión de salida:
[[email protected] ~]# scp -p -q -P 999 -i path/to/local/keypair.pem -r path/to/local/folder user@remote-host:path/to/remote/folder
¡Felicitaciones! Ha aprendido con éxito a usar el comando SCP. Gracias por usar este tutorial. Cubrimos la transferencia de archivos del host local a un host remoto, de un host remoto a un host local y entre dos hosts remotos en un sistema Linux.