10 comandos SCP para transferir archivos/carpetas en Linux

10 comandos SCP para transferir archivos/carpetas en Linux

Los administradores de Linux deben estar familiarizados con el CLI ambiente. Desde Guía El modo en los servidores de Linux no es común para instalarse. Ssh puede ser el protocolo más popular para permitir a los administradores de Linux administrar los servidores a través de la forma segura remota. Incorporado con Ssh comando hay SCP dominio. SCP se usa para copiar archivos entre servidores de manera segura.

[También puede que le guste: cómo asegurar y endurecer el servidor OpenSsh]

10 comandos SCP de Linux

Sintaxis básica del comando SCP

El siguiente comando se leerá como "Copiar fuente_file_name" en "carpeta de destino" en "destino_host" usando "cuenta de nombre de usuario".

SCP Source_File_Name [correo electrónico protegido] _host: Destination_folder

Hay muchos parámetros en el SCP comando que pueda usar. Estos son los parámetros que pueden usar en el uso diario.

Proporcione la información detallada del proceso SCP utilizando el parámetro -V

Lo básico SCP El comando sin parámetros copiará los archivos en segundo plano. Los usuarios no verán nada a menos que el proceso esté realizado o aparezca algún error.

Puedes usar el "-VParámetro para imprimir información de depuración en la pantalla. Puede ayudarlo a depurar la conexión, la autenticación y los problemas de configuración.

[correo electrónico protegido] ~/documentos $ scp -v etiqueta.PDF [correo electrónico protegido]@202.X.X.X:. 
Salida de muestra
SCP muestra progreso mientras copia archivos
Ejecución: programa/USR/bin/SSH Host 202.X.X.X, usuario Mrarianto, comando scp -v -t . Openssh_6.0p1 Debian-3, OpenSSL 1.0.1C 10 de mayo de 2012 Debug1: Lectura de datos de configuración/etc/ssh/ssh_config debug1:/etc/ssh/ssh_config línea 19: Aplicación de opciones para * debug1: conectarse a 202.X.X.x [202.X.X.x] puerto 22. Debug1: Conexión establecida. Debug1: anfitrión '202.X.X.X 'se conoce y coincide con la tecla de host RSA. Debug1: Llave encontrada en/home/pungki/.SSH/Know_hosts: 1 Debug1: SSH_RSA_VERIFY: Firma Correcta Debug1: Siguiente Método de autenticación: Contraseña [Correo electrónico Protegido] S PASSA: Debug1: Autenticación sucedida (Contraseña). Autenticado para 202.X.X.x ([202.X.X.x]: 22). Envío de modos de archivo: C0770 3760348 etiqueta.Fregadero PDF: etiqueta C0770 3760348.etiqueta pdf.PDF 100% 3672KB 136.0KB/s 00:27 Transferido: enviado 3766304, recibió 3000 bytes, en 65.2 segundos bytes por segundo: enviado 57766.4, recibido 46.0 Debug1: Estado de salida 0

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

El "-pagEl parámetro te ayudará con esto. Un tiempo estimado y la velocidad de conexión aparecerán en la pantalla.

[correo electrónico protegido] ~/documentos $ scp -p etiqueta.PDF [correo electrónico protegido]:.
Salida de muestra
SCP Estimando el tiempo necesario para copiar archivo grande
[Correo electrónico protegido] ¿Contraseña: etiqueta.PDF 100% 3672KB 126.6kb/s 00:29

Hacer que la transferencia de archivos sea más rápida usando el parámetro -c

Uno de los parámetros que pueden transferir su archivo más rápido es el "-CParámetro. El "-CEl parámetro comprimirá sus archivos al ir. Lo único es que el solo compresión ocurre en la red. Cuando el archivo haya llegado al servidor de destino, volverá al tamaño original como antes de que ocurra la compresión.

Echa un vistazo a estos comandos. Está usando un solo archivo de 93 MB.

[correo electrónico protegido] ~/documentos $ scp -pv mensajes.Registro [correo electrónico protegido]:.
Salida de muestra
SCP Transfiere archivo sin compresión
Ejecución: programa/USR/bin/SSH Host 202.X.X.x, usuario Mrarianto, comando scp -v -p -t . Openssh_6.0p1 Debian-3, OpenSSL 1.0.1C 10 de mayo de 2012 Debug1: Lectura de datos de configuración/etc/ssh/ssh_config debug1:/etc/ssh/ssh_config línea 19: Aplicación de opciones para * debug1: conectarse a 202.X.X.x [202.X.X.x] puerto 22. Debug1: Conexión establecida. Debug1: Archivo de identidad/Home/Pungki/.SSH/ID_RSA Tipo -1 DEBUG1: Clave encontrada en/home/pungki/.SSH/Know_hosts: 1 Debug1: SSH_RSA_VERIFY: Firma Correcta Debug1: Intenta la clave privada:/Home/Pungki/.SSH/ID_RSA DEBUG1: Siguiente método de autenticación: contraseña [correo electrónico protegido] Password: Debug1: Autenticación sucedida (contraseña). Autenticado para 202.X.X.x ([202.X.X.x]: 22). Debug1: Comando de envío: scp -v -p -t . Archivo mtime 1323853868 atime 1380425711 Enviando marcas de tiempo del archivo: T1323853868 0 1380425711 0 Mensajes.Registro 100% 93MB 58.6kb/s 27:05 Transferido: enviado 97614832, recibido 25976 bytes, en 1661.3 segundos bytes por segundo: enviado 58758.4, recibido 15.6 DEBUG1: ESTADO DE SALIDA 0

Copiar archivos sin el "-C"El parámetro dará como resultado 1661.3 segundos. Puede comparar el resultado con el comando a continuación que usa el "-C" parámetro.

[correo electrónico protegido] ~/documentos $ scp -cpv mensajes.Registro [correo electrónico protegido]:.
Salida de muestra
El archivo de transferencias SCP más rápido usando la compresión
Ejecución: programa/USR/bin/SSH Host 202.X.X.x, usuario Mrarianto, comando scp -v -p -t . Openssh_6.0p1 Debian-3, OpenSSL 1.0.1C 10 de mayo de 2012 Debug1: Lectura de datos de configuración/etc/ssh/ssh_config debug1:/etc/ssh/ssh_config línea 19: Aplicación de opciones para * debug1: conectarse a 202.X.X.x [202.X.X.x] puerto 22. Debug1: Conexión establecida. Debug1: Archivo de identidad/Home/Pungki/.SSH/ID_RSA Tipo -1 DEBUG1: Host '202.X.X.X 'se conoce y coincide con la tecla de host RSA. Debug1: Llave encontrada en/home/pungki/.SSH/Know_hosts: 1 Debug1: SSH_RSA_VERIFY: Firma Correcta Debug1: Siguiente Autenticación Método: PublicKey Debug1: Intenta la clave privada:/home/pungki/.SSH/ID_RSA DEBUG1: Siguiente método de autenticación: contraseña [correo electrónico protegido] Password: Debug1: Habilitación de compresión en el nivel 6. Debug1: autenticación lograda (contraseña). Autenticado para 202.X.X.x ([202.X.X.x]: 22). Debug1: Canal 0: Nuevo [Cliente -Sesión] Debug1: Comando de envío: SCP -V -P -T . Archivo mtime 1323853868 atime 1380428748 Enviando marcas de tiempo del archivo: T1323853868 0 1380428748 0 sumidero: T1323853868 0 1380428748 0 Enviar modos de archivo: C0600 97517300 mensajes.Mensajes de registro.Registro 100% 93MB 602.7kb/s 02:38 Transferido: enviado 8905840, recibido 15768 bytes, en 162.5 segundos bytes por segundo: enviado 54813.9, recibido 97.0 DEBUG1: ESTADO DE SALIDA 0 DEBUG1: Comprima salientes: datos sin procesar 97571111, comprimido 8806191, factor 0.09 DEBUG1: Comprima entrantes: datos sin procesar 7885, comprimido 3821, factor 0.48

Como puede ver, cuando está utilizando la compresión, el proceso de transferencia se realiza en 162.5 segundos. Es 10 veces más rápido que no usar el "-CParámetro. Si está copiando muchos archivos en la red, el "-C"El parámetro lo ayudaría a disminuir el tiempo total que necesita.

Lo que debemos notar es que el método de compresión no funcionará en ningún archivo. Cuando el archivo fuente ya está comprimido, no encontrará ninguna mejora allí. Archivos como .cremallera, .rar, fotos, y .Yo asi Los archivos no se verán afectados por el "-CParámetro.

Cambiar cifra SCP a archivos en cifrado

Por defecto SCP usando "AES-128"Para cifrar archivos. Si desea cambiar a otro cifrado para cifrarlo, puede usar el "-CParámetro. Echa un vistazo a este comando.

[correo electrónico protegido] ~/documentos $ scp -c 3DES Etiqueta.PDF [correo electrónico protegido]:. [Correo electrónico protegido] ¿Contraseña: etiqueta.PDF 100% 3672kb 282.5kb/s 00:13

El comando anterior dice SCP usar el Algoritmo 3DES Para cifrar el archivo. Tenga cuidado de que este parámetro usando "-C" no "-C".

Limitar el uso de ancho de banda con el comando SCP

Otro parámetro que puede ser útil es el "-lParámetro. El "-lEl parámetro limitará el ancho de banda para usar. Será útil si hace un script de automatización para copiar muchos archivos, pero no desea que el ancho de banda sea drenado por el SCP proceso.

[correo electrónico protegido] ~/documentos $ scp -l 400 etiqueta.PDF [correo electrónico protegido]:. [Correo electrónico protegido] ¿Contraseña: etiqueta.PDF 100% 3672kb 50.3kb/s 01:13

El 400 valor detrás del "-l"El parámetro es medio que limitamos el ancho de banda para el SCP proceso solo para 50 kb/seg. Una cosa para recordar es que el ancho de banda se especifica en Kilobits/segundo (KBPS). Es malo que 8 bits son iguales a 1 byte.

Mientras SCP cuenta en Kilobyte/segundo (KB/S). Entonces, si quieres limitar tu ancho de banda para SCP máximo de solo 50 KB/S, necesitas configurarlo en 50 x 8 = 400.

Especifique el puerto específico para usar con SCP

Generalmente, SCP está usando puerto 22 Como puerto predeterminado. Pero por razones de seguridad, puede cambiar el puerto a otro puerto. Por ejemplo, estamos usando puerto 2249. Entonces el comando debe ser así.

[correo electrónico protegido] ~/documentos $ scp -p 2249 etiqueta.PDF [correo electrónico protegido]:. [Correo electrónico protegido] ¿Contraseña: etiqueta.PDF 100% 3672kb 262.3kb/s 00:14

Asegúrese de que use capital "PAG" no "pag" desde "pag"Ya se usa para tiempos y modos preservados.

Copiar archivos dentro del directorio recursivamente

A veces necesitamos copiar el directorio y todo archivos/directorios dentro de eso. Será mejor si podemos hacerlo en 1 dominio. SCP admite ese escenario usando el "-riñonalParámetro.

[correo electrónico protegido] ~/documentos $ scp -r documentos [correo electrónico protegido]:. [Correo electrónico protegido] ¿Contraseña: etiqueta.PDF 100% 3672kb 282.5kb/s 00:13 SCP.txt 100% 10kb 9.8kb/s 00:00

Cuando se realiza el proceso de copia, en el servidor de destino encontrará un directorio llamado "documentos"Con todos sus archivos. La carpeta "documentos"Se crea automáticamente.

Deshabilitar el medidor de progreso y el mensaje de advertencia / diagnóstico

Si elige no ver el medidor de progreso y los mensajes de advertencia / diagnóstico de SCP, puede deshabilitarlo utilizando el "-QParámetro. Aquí está el ejemplo.

[correo electrónico protegido] ~/documentos $ scp -q etiqueta.PDF [correo electrónico protegido]:. [correo electrónico protegido] la contraseña: [correo electrónico protegido] ~/documentos $

Como puede ver, después de ingresar la contraseña, no hay información sobre el proceso SCP. Después de que se complete el proceso, volverá a ver un aviso.

Copiar archivos usando SCP a través de Proxy

El servidor proxy generalmente se usa en el entorno de oficina. Nativamente, SCP no está configurado Proxy. Cuando su entorno que usa un proxy, debe "decir" a SCP para comunicarse con el proxy.

Aquí está el escenario. La dirección proxy es 10.0.96.6 y el puerto proxy es 8080. El proxy también implementó la autenticación del usuario. Primero, debe crear el "~/.ssh/config " archivo. Segundo, pones este comando dentro de él.

ProxyCommand/USR/bin/Corkscrew 10.0.96.6 8080 %H %P ~/.ssh/proxyauth

Entonces necesita crear archivo "~/.ssh/proxyauth" que contiene.

myUsername: mypassword

Después de eso, puedes hacer SCP de manera habitual como de costumbre.

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

$ apt-get install corkscrew

Para otros sistemas basados ​​en YUM, los usuarios pueden instalar sacacorchos utilizando el siguiente comando yum.

# yum instalar sacacorchos

Otra cosa es que desde el "~/.ssh/proxyauth"El archivo contiene su"nombre de usuario" y "contraseña"En formato de texto claro, asegúrese de que solo pueda acceder al archivo.

Seleccione un archivo SSH_CONFIG diferente

Para los usuarios móviles que a menudo cambian entre las redes de la empresa y las redes públicas, sufrirá siempre cambiar la configuración en SCP. Es mejor si podemos poner un ssh_config Archivo para que coincida con nuestras necesidades.

Aquí hay un escenario de muestra

El proxy se usa en la red de la empresa pero no en la red pública y cambia regularmente las redes.

[correo electrónico protegido] ~/documentos $ scp -f/home/pungki/proxy_ssh_config etiqueta.PDF [correo electrónico protegido]:. [Correo electrónico protegido] ¿Contraseña: etiqueta.PDF 100% 3672kb 282.5kb/s 00:13

Por defecto "ssh_config"El archivo por usuario se colocará en"~/.ssh/config". Creando un específico "ssh_configEl archivo con compatibilidad proxy facilitará el cambio entre redes.

Cuando estás en la red de la empresa, puedes usar el "-FParámetro. Cuando estás en una red pública, puedes omitir el "-FParámetro.

[También puede gustar: PSCP: transferir/copiar archivos a múltiples servidores de Linux usando un solo shell]

De eso se trata SCP. Puedes ver Páginas del hombre de SCP para más detalles. No dude en dejar comentarios y sugerencias.