El comando SCP en Linux le permite copiar archivos a través de conexiones ssh. Esto es bastante útil si desea transportar archivos entre computadoras.
Índice
- Sintaxis del comando SCP
- Cómo usar el comando SCP en Linux
- Transferir archivo local a servidor remoto
- Transferir archivo del servidor remoto a la máquina local
- Transferir el directorio local al servidor remoto de forma recursiva
- Transferir directorio del servidor remoto al local de forma recursiva
- Transferir varios archivos a servidores remotos
- Aumente la velocidad de transferencia habilitando la compresión
- Especifique un puerto SSH diferente
- Conserva los permisos, los modos y el tiempo de acceso de los archivos
- Usar archivo de identificación en el comando SCP
- Conclusión
El scp
El comando (Copia segura) usa SSH para transferir datos de un host a otro y usa la misma autenticación y seguridad de SSH. Sin embargo, el comando se basa en SSH para la transferencia de datos, lo que requiere una clave o contraseña ssh para autenticarse en los sistemas remotos.
Al transferir datos con scp
, tanto los archivos como la contraseña están encriptados para que cualquier persona que husmee en el tráfico no obtenga nada confidencial. Por lo tanto, esta es una de las formas más seguras de transferir datos en una red.
El scp
El comando en Linux se puede usar de 3 maneras:
- Para copiar desde un servidor remoto a una máquina local.
- También, para copiar desde una máquina local a un servidor remoto.
- Para copiar de un servidor remoto a otro servidor remoto.
Sintaxis del comando SCP
La sintaxis de scp
el comando es:
scp [OPTION] [[email protected]]SRC_HOST:]file1 [[email protected]]DEST_HOST:]file2
Algunos de los scp
más utilizados las opciones de comando incluyen:
-P
:Especifique el puerto SSH del servidor-p
:conserva los permisos, los modos y el tiempo de acceso de los archivos (tenga en cuenta las minúsculas)-q
:modo silencioso, no muestra el progreso ni los mensajes-C
:Comprimir los datos durante la transmisión-r
:Recursivo:incluye subdirectorios y sus contenidos-i
:archivo de identidad o clave privada
Cómo usar el comando SCP en Linux
Transferir archivo local a servidor remoto
Copia file.txt
desde el directorio actual del sistema local al /tmp
del servidor remoto directorio.
scp file.txt [email protected]:/tmp/
Transferir archivo desde servidor remoto a equipo local
El siguiente comando copiará /tmp/file.txt
desde el servidor remoto a la máquina local bajo el directorio de inicio del usuario.
scp [email protected]:/tmp/file.txt /home/user
Transferir el directorio local al servidor remoto de forma recursiva
Puedes usar el -r
opción en el scp
comando en Linux para copiar recursivamente todo el directorio de un sistema a otro.
El siguiente comando copiará el /home/user/myfiles
directorio desde la máquina local al /tmp
del servidor remoto directorio.
scp -r /home/user/myfiles [email protected]:/tmp/
Transferir directorio desde servidor remoto a local recursivamente
El siguiente comando copiará /tmp/serverfiles
directorio desde el servidor remoto a la máquina local bajo el directorio de inicio del usuario de forma recursiva.
scp -r [email protected]:/tmp/serverfiles /home/user
Transferir varios archivos a servidores remotos
En el siguiente ejemplo, los archivos file1.txt
y file2.txt
desde el host de origen se copian en el /tmp
del servidor remoto directorio.
scp file1.txt file2.txt [email protected]:/tmp/
Aumentar la velocidad de transferencia al habilitar la compresión
Puede aumentar la velocidad de transferencia habilitando la compresión usando -C
opción. Permitirá automáticamente la compresión en el origen y la descompresión en el host de destino.
El siguiente comando copiará el /home/user/myfiles
directorio desde la máquina local al /tmp
del servidor remoto directorio recursivamente con compresión habilitada.
scp -r -C /home/user/myfiles [email protected]:/tmp/
Especifique un puerto SSH diferente
Puede haber casos en los que se cambie el puerto SSH en el host de destino, por lo que, con el comando scp en Linux, puede especificar el número de puerto SSH con -P
. opción.
El siguiente comando copiará file.txt
desde el directorio actual del sistema local al /tmp
del servidor remoto directorio usando el puerto 2222.
scp -P 2222 file.txt [email protected]:/tmp/
Conserva los permisos, modos y tiempo de acceso de los archivos
Usa el -p
opción en el scp
comando para conservar los permisos, el tiempo de acceso y los modos al copiar archivos.
El siguiente comando copiará file.txt
desde el directorio actual del sistema local al /tmp
del servidor remoto directorio y mantendrá sus propiedades.
scp -p file.txt [email protected]:/tmp/
Usar el archivo de identificación en el comando SCP
Al usar una clave SSH en lugar de una contraseña durante la sesión SSH, el -i
le permite seleccionar el archivo del que se lee la identidad (clave privada) para la autenticación de clave pública.
El siguiente comando copiará file.txt
desde el directorio actual del sistema local al /tmp
del servidor remoto directorio usando el my_second_indent.pem
archivo de clave privada.
scp -i my_second_indent.pem file.txt [email protected]:/tmp/
Conclusión
En este tutorial, aprendió a usar el scp
comando en Linux para copiar archivos y directorios. Esto es especialmente útil como reemplazo de FTP, que es inherentemente inseguro por defecto.
También puede configurar una autenticación basada en clave SSH y conectarse a sus servidores Linux sin ingresar una contraseña.
Para obtener más información sobre scp
comando en Linux, consulte su página de manual.