Androide

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

Copiar archivos con scp a través de ssh

Copiar archivos con scp a través de ssh

Tabla de contenido:

Anonim

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

Con scp , puede copiar un archivo o directorio:

  • Desde su sistema local a un sistema remoto. Desde 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 cualquiera que espíe el tráfico no tenga nada sensible.

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

Sintaxis del comando SCP

Antes de comenzar a usar el comando scp , comencemos por revisar la sintaxis básica.

La sintaxis del comando scp toma la siguiente forma:

scp SRC_HOST:]file1 DEST_HOST:]file2

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

Los archivos locales deben especificarse utilizando 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 cada aspecto de su comportamiento. Las opciones más utilizadas son:

  • -P Especifica el puerto ssh del host remoto. -p Conserva la modificación de archivos y los tiempos de acceso. -q Use esta opción si desea suprimir el medidor de progreso y los mensajes sin error. -C . Esta opción obligará a scp a comprimir los datos a medida que se envían a la máquina de destino. -r Esta opción le indicará a scp que copie directorios de forma recursiva.

Antes de que empieces

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

Los dos puntos ( scp es cómo scp distingue 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 el comando scp dentro de una sesión de pantalla o tmux.

Copie archivos y directorios entre dos sistemas con scp

Copie un archivo local a un sistema remoto con el comando scp

Para copiar un archivo de un sistema local a un sistema 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 comenzará el proceso de transferencia.

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

Omitir el nombre del archivo desde 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 del 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 predeterminado 22, puede especificar el puerto usando el argumento -P :

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

El comando para copiar un directorio es muy similar a cuando se copian archivos. La única diferencia es que necesita usar el indicador -r para recursivo.

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

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

Copie un archivo remoto a un sistema local utilizando el comando scp ommand

Para copiar un archivo de un sistema remoto a un sistema local, use 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 ejecute el siguiente comando:

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

Copie un archivo entre dos sistemas remotos utilizando el comando scp

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

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 la opción -3 :

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

Conclusión

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

También es posible que desee configurar una autenticación basada en claves SSH y conectarse a sus servidores Linux sin ingresar una contraseña.

terminal scp