Tutoriales

10 comandos SCP para transferir archivos / carpetas en Linux

Los administradores de Linux deben estar familiarizados con CLI Vecindad. Ya que GUI El modo en servidores Linux no se instala con frecuencia. SSH Es posiblemente el protocolo más popular que permite a los administradores de Linux administrar los servidores de forma remota de forma segura. Construido con SSH Hay una orden SCP Mando. SCP se utiliza para copiar archivos de forma segura entre servidores.

[ You might also like: How to Secure and Harden OpenSSH Server ]

10 comandos SCP de Linux

Sintaxis básica del comando SCP

El siguiente comando es el siguiente:copiar source_file_name«en»Carpeta de destino» a «Target_host«con»Cuenta de usuario«.

scp source_file_name [email protected]_host:destination_folder

Hay muchos parámetros en el SCP Comando que puedes usar. Estos son los parámetros que se pueden utilizar en el uso diario.

Ingrese la información detallada sobre el proceso SCP con el parámetro -v

Los basicos SCP El comando sin parámetros copia los archivos en segundo plano. Los usuarios no verán nada a menos que el proceso esté completo o se muestre un error.

Puede utilizar el … «-v”Parámetro para imprimir información de depuración en pantalla. Puede ayudarlo a depurar problemas de conexión, autenticación y configuración.

[email protected] ~/Documents $ scp -v Label.pdf [email protected]@202.x.x.x:.
Salida de muestra

SCP muestra el progreso al copiar archivos

Executing: program /usr/bin/ssh host 202.x.x.x, user mrarianto, command scp -v -t .
OpenSSH_6.0p1 Debian-3, OpenSSL 1.0.1c 10 May 2012
debug1: Reading configuration data /etc/ssh/ssh_config
debug1: /etc/ssh/ssh_config line 19: Applying options for *
debug1: Connecting to 202.x.x.x [202.x.x.x] port 22.
debug1: Connection established.
debug1: Host '202.x.x.x' is known and matches the RSA host key.
debug1: Found key in /home/pungki/.ssh/known_hosts:1
debug1: ssh_rsa_verify: signature correct
debug1: Next authentication method: password
[email protected]'s password:
debug1: Authentication succeeded (password).
Authenticated to 202.x.x.x ([202.x.x.x]:22).
Sending file modes: C0770 3760348 Label.pdf
Sink: C0770 3760348 Label.pdf
Label.pdf 100% 3672KB 136.0KB/s 00:27
Transferred: sent 3766304, received 3000 bytes, in 65.2 seconds
Bytes per second: sent 57766.4, received 46.0
debug1: Exit status 0

Ingrese tiempos de modificación, tiempos de acceso y modos de archivos originales

Ese «-PAG”El parámetro le ayudará. El tiempo estimado y la velocidad de conexión se muestran en la pantalla.

[email protected] ~/Documents $ scp -p Label.pdf [email protected]:.
Salida de muestra

SCP estima el tiempo que lleva copiar archivos grandes

[email protected]'s password:
Label.pdf 100% 3672KB 126.6KB/s 00:29

Acelere la transferencia de archivos con el parámetro -C

Uno de los parámetros que puede acelerar la transferencia de archivos es «-C«-Parámetro. Ese «-C”El parámetro comprime sus archivos sobre la marcha. Lo único es que la compresión solo se realiza en la red. Cuando el archivo llega al servidor de destino, vuelve a su tamaño original, como estaba antes de ser comprimido.

Eche un vistazo a estos comandos. Utiliza un solo archivo de 93 MB.

[email protected] ~/Documents $ scp -pv messages.log [email protected]:.
Salida de muestra

SCP transfiere archivos sin compresión

Executing: program /usr/bin/ssh host 202.x.x.x, user mrarianto, command scp -v -p -t .
OpenSSH_6.0p1 Debian-3, OpenSSL 1.0.1c 10 May 2012
debug1: Reading configuration data /etc/ssh/ssh_config
debug1: /etc/ssh/ssh_config line 19: Applying options for *
debug1: Connecting to 202.x.x.x [202.x.x.x] port 22.
debug1: Connection established.
debug1: identity file /home/pungki/.ssh/id_rsa type -1
debug1: Found key in /home/pungki/.ssh/known_hosts:1
debug1: ssh_rsa_verify: signature correct
debug1: Trying private key: /home/pungki/.ssh/id_rsa
debug1: Next authentication method: password
[email protected]'s password:
debug1: Authentication succeeded (password).
Authenticated to 202.x.x.x ([202.x.x.x]:22).
debug1: Sending command: scp -v -p -t .
File mtime 1323853868 atime 1380425711
Sending file timestamps: T1323853868 0 1380425711 0
messages.log 100% 93MB 58.6KB/s 27:05
Transferred: sent 97614832, received 25976 bytes, in 1661.3 seconds
Bytes per second: sent 58758.4, received 15.6
debug1: Exit status 0

Copiando archivos sin «-C«El parámetro conduce a 1661,3 Segundos. Puede comparar el resultado con el siguiente comando, que puede utilizar con el «-C « Parámetro.

[email protected] ~/Documents $ scp -Cpv messages.log [email protected]:.
Salida de muestra

SCP transfiere archivos más rápido con compresión

Executing: program /usr/bin/ssh host 202.x.x.x, user mrarianto, command scp -v -p -t .
OpenSSH_6.0p1 Debian-3, OpenSSL 1.0.1c 10 May 2012
debug1: Reading configuration data /etc/ssh/ssh_config
debug1: /etc/ssh/ssh_config line 19: Applying options for *
debug1: Connecting to 202.x.x.x [202.x.x.x] port 22.
debug1: Connection established.
debug1: identity file /home/pungki/.ssh/id_rsa type -1
debug1: Host '202.x.x.x' is known and matches the RSA host key.
debug1: Found key in /home/pungki/.ssh/known_hosts:1
debug1: ssh_rsa_verify: signature correct
debug1: Next authentication method: publickey
debug1: Trying private key: /home/pungki/.ssh/id_rsa
debug1: Next authentication method: password
[email protected]'s password:
debug1: Enabling compression at level 6.
debug1: Authentication succeeded (password).
Authenticated to 202.x.x.x ([202.x.x.x]:22).
debug1: channel 0: new [client-session]
debug1: Sending command: scp -v -p -t .
File mtime 1323853868 atime 1380428748
Sending file timestamps: T1323853868 0 1380428748 0
Sink: T1323853868 0 1380428748 0
Sending file modes: C0600 97517300 messages.log
messages.log 100% 93MB 602.7KB/s 02:38
Transferred: sent 8905840, received 15768 bytes, in 162.5 seconds
Bytes per second: sent 54813.9, received 97.0
debug1: Exit status 0
debug1: compress outgoing: raw data 97571111, compressed 8806191, factor 0.09
debug1: compress incoming: raw data 7885, compressed 3821, factor 0.48

Como puede ver, cuando se usa la compresión, el proceso de transferencia se realiza en 162,5 Segundos. es 10 Veces más rápido que sin el «-C«-Parámetro. Si copia muchos archivos a través de la red, el «-C”El parámetro le ayudaría a reducir el tiempo total requerido.

Lo que debemos tener en cuenta es que el método de compresión no funciona para ningún archivo. Si el archivo fuente ya está comprimido, no verá ninguna mejora allí. Archivos como .Código postal, .rar, fotos, y .Yo asi Los archivos no son utilizados por «-C«-Parámetro.

Cambiar el cifrado SCP para cifrar archivos

Por defecto SCP con «AES-128“Para cifrar archivos. Si desea cambiar a un método de cifrado diferente para cifrarlo, puede utilizar el «-C«-Parámetro. Eche un vistazo a este comando.

[email protected] ~/Documents $ scp -c 3des Label.pdf [email protected]:.

[email protected]'s password:
Label.pdf 100% 3672KB 282.5KB/s 00:13

El comando anterior dice SCP para usarlos Algoritmo 3des para cifrar el archivo. Asegúrese de que este parámetro esté marcado con «-C» No «-C«.

Limitar el uso de ancho de banda con el comando SCP

Otro parámetro útil es el «-l«-Parámetro. Ese «-l”El parámetro limita el ancho de banda que se utilizará. Es útil cuando está ejecutando un script de automatización para copiar muchos archivos pero no desea que el ancho de banda pase por el SCP Proceso.

[email protected] ~/Documents $ scp -l 400 Label.pdf [email protected]:.

[email protected]'s password:
Label.pdf 100% 3672KB 50.3KB/s 01:13

Ese 400 Valor detrás de «-l«Parámetro significa que tenemos el ancho de banda para ese SCP solo procesa 50 KB / seg.. Tenga en cuenta que el ancho de banda se especifica en Kilobits/Segundo (kbps). Qué cruel 8 bits son lo mismo 1 byte.

Tiempo SCP cuenta en kilobyte/Segundo (KB / s). Entonces, si desea limitar su ancho de banda para SCP solo máximo 50 KB / s, Tienes que ponerlo en 50 x 8 = 400.

Especifique el puerto específico que se utilizará con SCP

Generalmente, SCP usa puerto 22 como puerto estándar. Sin embargo, por razones de seguridad, puede cambiar el puerto a otro puerto. Por ejemplo usamos puerto 2249. Entonces el comando debería ser así.

[email protected] ~/Documents $ scp -P 2249 Label.pdf [email protected]:.

[email protected]'s password:
Label.pdf 100% 3672KB 262.3KB/s 00:14

Asegúrese de que utilice capital «pag.» No «pag.» ya que «pag.“Ya se usa para tiempos y modos preservados.

Copie archivos de forma recursiva al directorio

A veces tenemos que copiar el directorio y todo Archivos / directorios internamente. Será mejor si lo logramos 1 Mando. SCP apoya este escenario con el «-R«-Parámetro.

[email protected] ~/Documents $ scp -r documents [email protected]:.

[email protected]'s password:
Label.pdf 100% 3672KB 282.5KB/s 00:13
scp.txt 100% 10KB 9.8KB/s 00:00

Cuando se complete el proceso de copia, encontrará un directorio en el servidor de destino llamado «documentos“Con todos sus archivos. El mapa «documentos“Se crea automáticamente.

Desactivar la pantalla de progreso y el mensaje de advertencia / diagnóstico

Si no desea ver el medidor de progreso y los mensajes de advertencia / diagnóstico de SCP, puede usar el «-Q«-Parámetro. Aquí está el ejemplo.

[email protected] ~/Documents $ scp -q Label.pdf [email protected]:.

[email protected]'s password:
[email protected] ~/Documents $

Como puede ver, después de ingresar la contraseña, no hay información sobre el proceso de SCP. Una vez finalizado el proceso, volverá a ver un mensaje.

Copie archivos con SCP a través de proxy

El servidor proxy se usa generalmente en el entorno de oficina. SCP no está configurado de forma nativa como proxy. Si su entorno utiliza un proxy, debe «decirle» a SCP que se comunique con el proxy.

Aquí está el escenario. La dirección de proxy es 10.0.96.6 y el puerto proxy es 8080. El proxy también implementó la autenticación de usuarios. Primero tienes que~ / .ssh / config « Archivo. En segundo lugar, pegue este comando en él.

ProxyCommand /usr/bin/corkscrew 10.0.96.6 8080 %h %p ~/.ssh/proxyauth

Entonces tienes que crear un archivo «~ / .ssh / proxyauth» eso incluye.

myusername:mypassword

A continuación, puede realizar SCP de forma transparente como de costumbre.

Tenga en cuenta que es posible que el sacacorchos aún no esté instalado en su sistema. En mi Linux Mint, necesito instalarlo primero usando el método de instalación estándar de Linux Mint.

$ apt-get install corkscrew

En otros sistemas basados ​​en yum, los usuarios pueden instalar Corkscrew con el siguiente comando yum.

# yum install corkscrew

Otra cosa es que desde «~ / .ssh / proxyauth«El archivo contiene su»Nombre de usuario» y «clave“En formato de texto sin formato, asegúrese de que solo usted pueda acceder al archivo.

Elija un archivo ssh_config diferente

Para los usuarios móviles que cambian con frecuencia entre las redes de la empresa y las redes públicas, será tedioso cambiar constantemente la configuración en SCP. Es mejor si podemos poner otro ssh_config Archivo que cumpla con nuestros requisitos.

Aquí hay un escenario de ejemplo

El proxy se utiliza en la red de la empresa pero no en la red pública y cambia de red con regularidad.

[email protected] ~/Documents $ scp -F /home/pungki/proxy_ssh_config Label.pdf

[email protected]:.
[email protected]'s password:
Label.pdf 100% 3672KB 282.5KB/s 00:13

Por defecto «ssh_config«El archivo por usuario se guarda en»~ / .ssh / config«. Creando un «ssh_configLa compatibilidad de archivos con proxy facilita el cambio entre redes.

Si está en la red de la empresa, puede utilizar el «-F«-Parámetro. Si está en una red pública, puede utilizar el «-F«-Parámetro.

[ You might also like: Pscp – Transfer/Copy Files to Multiple Linux Servers Using Single Shell ]

Eso es todo SCP. Puedes ver páginas man desde SCP para más detalles. No dude en dejar comentarios y sugerencias.

.

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