Table of Contents
10 comandos SCP para transferir archivos/carpetas en Linux
El administrador de Linux debe estar familiarizado con el entorno CLI. Dado que el modo GUI. en servidores Linux no es una instalación común. SSH. puede ser el protocolo más popular para permitir que el administrador de Linux administre los servidores de forma remota de forma segura. Integrado con el comando SSH. hay un comando SCP. SCP. se utiliza para copiar archivos entre servidores de forma segura.
10 Comandos SCP de Linux
El siguiente comando se leerá como “ copiar nombre_archivo_origen. en “ carpeta_de_destino. en “ host_destino. usando “ cuenta de nombre de usuario. ”.
Sintaxis básica de SCP scp source_file_name [email protected] _host: destination_folder
Hay muchos parámetros en el comando SCP. que puede usar. Estos son los parámetros que pueden ser útiles para el uso diario.
Proporcione la información detallada del proceso SCP utilizando el parámetro-v
El comando SCP. básico sin parámetro copie los archivos en segundo plano. El usuario no verá nada a menos que se complete el proceso o aparezca algún error. Puede utilizar el parámetro “-v. para imprimir información de depuración en la pantalla. Puede ayudarlo a depurar problemas de conexión, autenticación y configuración.
[email protected] ~/Documents $ scp-v Label.pdf [email protected] :. Ejecución de salida de muestra: 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: Aplicando opciones para * debug1: Conectando a 202.xxx [202. xxx] puerto 22. debug1: Conexión establecida. debug1: el host ‘202.x.x.x’ es conocido y coincide con la clave de host RSA. debug1: clave encontrada en/home/pungki/.ssh/known_hosts:1 debug1: ssh_rsa_verify: firma correcta debug1: siguiente método de autenticación: contraseña [email protected] ‘s contraseña: debug1: autenticación exitosa (contraseña). Autenticado a 202.x.x.x ([202.x.x.x]: 22). Modos de envío de archivo: C0770 3760348 Label.pdf Sink: C0770 3760348 Label.pdf Label.pdf 100% 3672KB 136.0KB/s 00:27 Transferido: enviado 3766304, recibido 3000 bytes, en 65.2 segundos Bytes por segundo: enviado 57766.4, recibido 46.0 debug1: Estado de salida 0
Proporcione tiempos de modificación, tiempos de acceso y modos de los archivos originales
El parámetro “-p. le ayudará en esto. Un tiempo estimado y la velocidad de conexión aparecerán en la pantalla.
[email protected] ~/Documents $ scp-p Label.pdf [email protected] :. Salida de muestra Contraseña de [email protected]: Label.pdf 100% 3672KB 126.6KB/s 00:29
Haga que la transferencia de archivos sea más rápida usando el parámetro-C
freestar.config.enabled_slots.push (LocationName: ” tecmint_incontent “, slotId:” tecmint_incontent “);
Uno de los parámetros que puede acelerar la transferencia de archivos es el parámetro“ -C. ”. El parámetro “-C. comprimirá sus archivos sobre la marcha. Lo único es que la compresión solo ocurre en la red. Cuando el archivo llega al servidor de destino, volverá al tamaño original como antes de que ocurriera la compresión.
Eche un vistazo a estos comandos. Utiliza un único archivo de 93 Mb.
[correo electrónico protegido] ~/Documentos $ scp-pv messages.log [correo electrónico protegido] :. Ejecución de salida de muestra: 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: Aplicando opciones para * debug1: Conectando a 202.xxx [202. xxx] puerto 22. debug1: Conexión establecida. debug1: archivo de identidad/home/pungki/.ssh/id_rsa tipo-1 debug1: clave encontrada en/home/pungki/.ssh/known_hosts:1 debug1: ssh_rsa_verify: firma correcta debug1: probando clave privada:/home/pungki/. ssh/id_rsa debug1: Siguiente método de autenticación: contraseña [email protected] ‘s password: debug1: Autenticación exitosa (contraseña). Autenticado a 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 messages.log 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: Salir estado 0
Copiar el archivo sin el parámetro “-C. dará como resultado 1661,3. segundos. Puede comparar el resultado con el comando a continuación que usa el parámetro “-C”.
[email protected] ~/Documents $ scp-Cpv messages.log [email protected] :. Ejecución de salida de muestra: 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: Aplicando opciones para * debug1: Conectando a 202.xxx [202. xxx] puerto 22. debug1: Conexión establecida. debug1: archivo de identidad/home/pungki/.ssh/id_rsa tipo-1 debug1: el host ‘202.x.x.x’ es conocido y coincide con la clave de host RSA. debug1: clave encontrada en/home/pungki/.ssh/known_hosts:1 debug1: ssh_rsa_verify: firma correcta debug1: siguiente método de autenticación: clave pública debug1: probando clave privada:/home/pungki/.ssh/id_rsa debug1: siguiente método de autenticación: contraseña Contraseña de [email protected]: debug1: Habilitando la compresión en el nivel 6. debug1: Autenticación exitosa (contraseña). Autenticado a 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 Receptor: T1323853868 0 1380428748 0 Modos de envío de archivo: C0600 97517300 messages.log messages.log 100% 93MB 602.7KB/s 02:38 Transferido: enviado 15768, bytes en 162.5 segundos Bytes por segundo: enviado 54813.9, recibido 97.0 debug1: estado de salida 0 debug1: comprimir saliente: datos sin procesar 97571111, 8806191 comprimidos, factor 0.09 debug1: comprimir entrantes: datos sin procesar 7885, 3821 comprimidos, factor 0.48
Como usted 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 utilizar el parámetro “-C. . Si está copiando muchos archivos a través de la red, el parámetro “-C. lo ayudaría a disminuir el tiempo total que necesita.
Lo que debemos notar es 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 .zip. .rar. imágenes. y .iso. no se verán afectados por “-C. ”.
Seleccione otro cifrado para cifrar archivos
Por defecto SCP. usando“ AES-128 ”para cifrar archivos. Si desea cambiar a otro cifrado para cifrarlo, puede utilizar el parámetro “-c. . Eche un vistazo a este comando.
[email protected] ~/Documents $ scp-c 3des Label.pdf [email protected] :. Contraseña de [email protected]: Label.pdf 100% 3672KB 282.5KB/s 00:13
El comando anterior indica a SCP. que use el algoritmo 3des. para cifrar el archivo. Tenga cuidado de que este parámetro utilice “-c. y no “-C. .
Limitación del uso de ancho de banda
Otro parámetro que puede resultar útil es el parámetro “-l. . El parámetro “-l. limitará el ancho de banda a utilizar. Será útil si crea una secuencia de comandos de automatización para copiar una gran cantidad de archivos, pero no desea que el proceso SCP. agote el ancho de banda.
[correo electrónico protegido] ~/Documentos $ scp-l 400 Label.pdf [correo electrónico protegido] :. Contraseña de [email protected]: Label.pdf 100% 3672KB 50,3KB/s 01:13
El valor 400. detrás del parámetro “-l. significa que limitamos el ancho de banda para el proceso SCP. solo 50 KB/seg. Una cosa para recordar es que el ancho de banda se especifica en Kilobits. s. ( kbps. . Significa que 8 bits. equivalen a 1 byte.
Mientras que SCP. cuenta en Kilobyte. s. ( KB/s. . Por lo tanto, si desea limitar su ancho de banda para SCP. como máximo solo 50. KB/s. debe configurarlo en 50 x 8. = 400.
Especifique un puerto específico para usar con SCP
Por lo general, SCP. está usando el puerto 22. como puerto predeterminado. Pero por motivos de seguridad, puede cambiar el puerto a otro puerto. Por ejemplo, estamos usando el puerto 2249. Entonces el comando debería ser así.
[email protected] ~/Documents $ scp-P 2249 Label.pdf [email protected] :. Contraseña de [email protected]: Label.pdf 100% 3672KB 262.3KB/s 00:14
Asegúrate de usar mayúsculas “ P. y no “ p. “, Dado que“ p. ”ya se usa para tiempos y modos preservados.
Copiar archivos dentro del directorio de forma recursiva
A veces necesitamos copiar el directorio y todo archivos. directorios. dentro de él. Será mejor si podemos hacerlo en el comando 1. SCP. admite ese escenario mediante el parámetro “-r. .
[correo electrónico protegido] ~/Documentos $ scp-r documentos [correo electrónico protegido] :. Contraseña de [email protected]: Label.pdf 100% 3672KB 282.5KB/s 00:13 scp.txt 100% 10KB 9.8KB/s 00:00
Cuando finalice el proceso de copia, en el servidor de destino encontró un directorio llamado “ documentos. con todos sus archivos. La carpeta “ documentos. se crea automáticamente.
Desactiva el medidor de progreso y el mensaje de advertencia/diagnóstico
Si eliges no ver el medidor de progreso y el mensaje de advertencia/diagnóstico mensajes de SCP, puede desactivarlo mediante el parámetro “-q. . Aquí está el ejemplo.
[email protected] ~/Documents $ scp-q Label.pdf [email protected] :. Contraseña de [correo electrónico protegido]: [correo electrónico protegido] ~/Documentos $
Como puede ver, después de ingresar la contraseña, no hay información sobre el proceso SCP. Una vez finalizado el proceso, verá un mensaje nuevamente.
Copie archivos usando SCP a través de Proxy
El servidor Proxy generalmente se usa en entornos de oficina. De forma nativa, SCP no está configurado por proxy. Cuando su entorno utiliza un proxy, debe “decirle” a SCP que se comunique con el proxy.
Este es el escenario. La dirección del proxy es 10.0.96.6. y el puerto del proxy es 8080. El proxy también implementó la autenticación de usuarios. Primero, debe crear el archivo “ ~/.ssh/config”. En segundo lugar, pones este comando dentro.
ProxyCommand/usr/bin/corkscrew 10.0.96.6 8080% h% p ~/.ssh/proxyauth
Entonces necesitas crear el archivo “ ~/.ssh/proxyauth. ”que contienen.
myusername: mypassword
Después de eso, puede ejecutar 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 procedimiento de instalación estándar de Linux Mint.
$ apt-get install corkscrew
Para otros sistemas basados en yum, los usuarios pueden instalar sacacorchos usando el siguiente comando yum.
# yum install sacacorchos
Otra cosa que, dado que el archivo “ ~/.ssh/proxyauth. contiene su “ nombre de usuario. y “ contraseña. ”En formato de texto sin cifrar, asegúrese de que solo usted pueda acceder al archivo.
Seleccione un archivo ssh_config diferente
Para usuarios móviles que a menudo cambian entre la red de la empresa y la pública red, se verá afectado el cambiar siempre la configuración en SCP. Es mejor si podemos poner un archivo ssh_config. diferente para satisfacer 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 usted cambia regularmente la red.