LINUX

Cómo usar el comando SCP para transferir archivos

ejemplos de scp linux

SCP es un programa de copia segura para transferir archivos o directorios entre hosts Linux en la red. SCP usa el protocolo ssh para transferir los datos.

Puede transferir archivos o directorios de la siguiente manera:

1) Host local a un host remoto.
2) Sistema remoto a su sistema local.
3) Transferencia entre dos hosts remotos desde su sistema local.

En este tutorial, aprendamos algunos comandos scp para transferir archivos entre sistemas Linux.

1) Copie un archivo del host remoto al local usando el comando scp

El siguiente ejemplo copiará el archivo llamado ‘file_for_copy.txt’ del sistema remoto ‘192.168.1.10’ al directorio actual (los puntos indican el directorio actual) en el sistema local.

$ scp bobby@192.168.1.10:/home/bobby/file_for_copy.txt .
bobby@192.168.1.10's password:
file_for_copy.txt 100% 0 0.0KB/s 00:00
bobby@Inspiron-1440:~$ ls
file_for_copy.txt

Copie un directorio del host remoto al local usando el comando scp

Los directorios se pueden copiar con -r opción (como la mayoría de los comandos como cp), es decir, de forma recursiva, por lo que todo el contenido dentro del directorio también se puede copiar

$ scp -r bobby@192.168.1.10:/home/bobby/dir_for_copy .
bobby@192.168.1.10's password:
file1.txt 100% 0 0.0KB/s 00:00
file3.txt 100% 0 0.0KB/s 00:00
file2.txt 100% 0 0.0KB/s 00:00
$ ls -ld dir_for_copy
drwxrwxr-x 2 bobby bobby 4096 2012-11-07 15:11 dir_for_copy

3) Copie un archivo del host local al remoto

La opción -v de scp imprime un resultado detallado, que luego realiza el scp y también imprime mensajes de depuración sobre su progreso. En el siguiente ejemplo, se utiliza la opción -v. Aquí, se copia un archivo local al host remoto.

$ scp -v examples.desktop bobby@192.168.1.10:/home/bobby

Del mismo modo, un directorio se puede copiar con -r opción. En el siguiente ejemplo, se copia un directorio llamado jvm en el host remoto.

$ scp -r jvm bobby@192.168.1.10:/tmp
bobby@192.168.1.10's password:
file2.txt 100% 42 0.0KB/s 00:00
file.txt 100% 39 0.0KB/s 00:01

4) Copiar archivos entre dos hosts remotos desde el host local

Para copiar un archivo entre dos hosts, el servicio ssh debe estar ejecutándose en ambas máquinas. los -3 La opción transferirá archivos entre dos hosts remotos a través del host local. El siguiente comando copia el archivo /home/bobby/myfile1.txt de la máquina 192.168.1.10 al directorio / tmp en la máquina 192.168.1.20, con una salida detallada.

$ scp -3 -v bobby@192.168.1.10:/home/bobby/myfile1.txt bobby@192.168.1.20:/tmp

De manera similar, los directorios se pueden copiar entre dos máquinas remotas con la opción -r.

$ scp -3 -r bobby@192.168.1.10:/home/bobby/mydir bobby@192.168.1.20:/tmp
bobby@192.168.1.20's password:
Could not chdir to home directory /home/bobby: No such file or directory
bobby@192.168.1.10's password:

5) SCP con un número de puerto

Supongamos que el puerto SSH de la máquina remota es 2200 (en lugar del puerto SSH 22 predeterminado). Entonces necesitas ejecutar el comando scp con -P opción de la siguiente manera:

$ scp –P 2200 -r test_folder test@192.168.1.26:/home/test/

6) Scp Command Copiar varios archivos (una línea)

Puede copiar varios archivos a la vez usando el comando scp como se muestra a continuación sin tener que ejecutarlo varias veces

$ scp file1.txt file2.txt file3.txt bobby@192.168.1.10:/home/bobby

7) Copie archivos sin cambiar la marca de tiempo de los archivos

En algún momento, es posible que desee conservar la marca de tiempo de los archivos originales. Pero cuando los lleva a una ubicación diferente de la forma normal, la marca de tiempo se modifica. Pero con -p opción puede copiar los archivos con las mismas marcas de tiempo originales, como se muestra a continuación.

$ scp -p file1.txt bobby@192.168.1.10:/home/bobby

8) Archivos de copia SCP rápidos

Por defecto, Scp usa AES-128 para encriptar datos ya que la seguridad de esto es alta. Pero la desventaja de esto es que ralentiza un poco el proceso de copia de archivos. Pero si desea copiar archivos de forma segura más rápido, puede usar Blowfish o RC4 como se muestra a continuación.

$ scp -c blowfish bobby@192.168.1.10:/home/user/file .
$ scp -c arcfour bobby@192.168.1.10:/home/user/file .

9) Scp Command con mayor seguridad

Si es la seguridad que busca, puede copiar archivos de una manera más segura usando 3DES. Pero esto ralentizará el proceso un poco más.

$ scp -c 3des bobby@192.168.1.10:/home/user/file .

10) Comando Scp con ancho de banda limitado

Al usar el comando scp, puede limitar su ancho de banda como se muestra a continuación (aquí el ancho de banda se especifica en Kbit / s).

$ scp -l50 bobby@192.168.1.10:/home/user/file .

11) Comando Scp con IPV4 e IPV6

Si es necesario, puede forzar el comando scp para usar IPV4 o IPV6 como se muestra a continuación

$ scp -4 bobby@192.168.1.10:/home/user/file .
$ scp -6 bobby@192.168.1.10:/home/user/file .

Conclusión

Espero que haya disfrutado leyendo este tutorial sobre cómo usar el comando scp con ejemplos. Recomendaría referir página de manual del comando scp para más información.

Publicaciones relacionadas

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Botón volver arriba
Cerrar