GNU/Linux >> Tutoriales Linux >  >> Linux

Cómo usar el comando SCP para transferir archivos de forma segura

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

Con scp , puede copiar un archivo o directorio:

  • De su sistema local a un sistema remoto.
  • De un sistema remoto a su sistema local.
  • Entre dos sistemas remotos de su sistema local.

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.

En este tutorial, le mostraremos cómo usar el scp comando a través de ejemplos prácticos y explicaciones detalladas de las opciones de scp más comunes.

Sintaxis del comando SCP #

Antes de entrar en cómo usar el scp comando, comencemos revisando la sintaxis básica.

El scp la sintaxis del comando toma la siguiente forma:

scp [OPTION] [user@]SRC_HOST:]file1 [user@]DEST_HOST:]file2
  • OPTION - opciones de scp como cifrado, configuración ssh, puerto ssh, límite, copia recursiva, etc.
  • [user@]SRC_HOST:]file1 - Archivo fuente.
  • [user@]DEST_HOST:]file2 - Archivo de destino

Los archivos locales deben especificarse mediante una ruta absoluta o relativa, mientras que los nombres de archivos remotos deben incluir una especificación de usuario y host.

scp proporciona una serie de opciones que controlan todos los aspectos de su comportamiento. Las opciones más utilizadas son:

  • -P - Especifica el puerto ssh del host remoto.
  • -p - Conserva los tiempos de modificación y acceso a los archivos.
  • -q - Utilice esta opción si desea suprimir el medidor de progreso y los mensajes que no son de error.
  • -C - Esta opción fuerza scp para comprimir los datos a medida que se envían a la máquina de destino.
  • -r - Esta opción le dice a scp para copiar directorios recursivamente.

Antes de comenzar #

El scp el comando se basa en ssh para la transferencia de datos, por lo que requiere una clave ssh o contraseña para autenticarse en los sistemas remotos.

Los dos puntos (: ) es cómo scp distinguir entre ubicaciones locales y remotas.

Para poder copiar archivos, debe tener al menos permisos de lectura en el archivo de origen y permiso de escritura en el sistema de destino.

Tenga cuidado al copiar archivos que comparten el mismo nombre y ubicación en ambos sistemas, scp sobrescribirá los archivos sin previo aviso.

Al transferir archivos grandes, se recomienda ejecutar scp comando dentro de una pantalla o tmuxsession.

Copiar archivos y directorios entre dos sistemas con scp #

Copiar un archivo local a un sistema remoto con scp Comando #

Para copiar un archivo de un sistema local a uno remoto, ejecute el siguiente comando:

scp file.txt [email protected]:/remote/directory

Donde file.txt es el nombre del archivo que queremos copiar, remote_username es el usuario en el servidor remoto, 10.10.0.2 es la dirección IP del servidor. El /remote/directory es la ruta al directorio en el que desea copiar el archivo. Si no especifica un directorio remoto, el archivo se copiará en el directorio de inicio del usuario remoto.

Se le pedirá que ingrese la contraseña de usuario y se iniciará el proceso de transferencia.

[email protected]'s password:
file.txt                             100%    0     0.0KB/s   00:00

Omitir el nombre de archivo de la ubicación de destino copia el archivo con el nombre original. Si desea guardar el archivo con un nombre diferente, debe especificar el nuevo nombre de archivo:

scp file.txt [email protected]:/remote/directory/newfilename.txt

Si SSH en el host remoto está escuchando en un puerto que no sea el 22 predeterminado, puede especificar el puerto usando -P argumento:

scp -P 2322 file.txt [email protected]:/remote/directory

El comando para copiar un directorio es muy parecido a cuando se copian archivos. La única diferencia es que necesitas usar -r bandera para recursiva.

Para copiar un directorio de un sistema local a un sistema remoto, use -r opción:

scp -r /local/directory [email protected]:/remote/directory

Copiar un Archivo Remoto a un Sistema Local usando scp Comando #

Para copiar un archivo de un sistema remoto a uno local, utilice la ubicación remota como origen y la ubicación local como destino.

Por ejemplo, para copiar un archivo llamado file.txt desde un servidor remoto con IP 10.10.0.2 ejecuta el siguiente comando:

scp [email protected]:/remote/file.txt /local/directory

Si no ha configurado un inicio de sesión SSH sin contraseña en la máquina remota, se le pedirá que ingrese la contraseña de usuario.

Copiar un archivo entre dos sistemas remotos usando scp Comando #

A diferencia de rsync , al usar scp no tiene que iniciar sesión en uno de los servidores para transferir archivos de una a otra máquina remota.

El siguiente comando copiará el archivo /files/file.txt desde el host remoto host1.com al directorio /files en el host remoto host2.com .

scp [email protected]:/files/file.txt [email protected]:/files

Se le pedirá que ingrese las contraseñas para ambas cuentas remotas. Los datos se transferirán directamente de un host remoto a otro.

Para enrutar el tráfico a través de la máquina en la que se emite el comando, use -3 opción:

scp -3 [email protected]:/files/file.txt [email protected]:/files

Conclusión #

En este tutorial, aprendiste a usar el scp comando para copiar archivos y directorios.

También puede configurar una autenticación basada en clave SSH y conectarse a sus servidores Linux sin ingresar una contraseña.

Si se conecta regularmente a los mismos sistemas, puede simplificar su flujo de trabajo definiendo todas sus conexiones en el archivo de configuración de SSH.


Linux
  1. 14 ejemplos de comandos SCP para transferir archivos de forma segura en Linux

  2. Cómo usar el comando SFTP para la transferencia segura de archivos

  3. Comando SCP Linux:cómo transferir archivos SSH de remoto a local

  4. Cómo transferir archivos de forma segura usando SCP

  5. Cómo usar Netcat para transferir archivos en Linux

Cómo usar el comando Truncar en Linux

Cómo usar un comando de archivo en Linux

Cómo usar el comando SCP en Linux

Comando SCP de Linux para transferir archivos de forma segura

Cómo usar el comando lsof en Linux

Cómo usar el comando shred de Linux