GNU/Linux >> Tutoriales Linux >  >> Linux

Cómo usar el comando SCP para la transferencia de archivos

SCP (protocolo de copia segura) es un protocolo de transferencia de archivos de red que permite transferencias de archivos fáciles y seguras entre un sistema remoto y un host local o dos ubicaciones remotas. Utiliza el mecanismo Secure Shell (SSH) para proporcionar funciones de autenticación y cifrado para sus datos y credenciales.

Los administradores utilizan el comando SCP Linux para agilizar el proceso de transferencia de datos entre servidores Linux, ya que no requiere iniciar sesión en un servidor. Además, ofrece mejor seguridad que el Protocolo de Transferencia de Archivos (FTP) y cumple con los Estándares del Consejo de Seguridad PCI.

En este artículo, aprenderá a usar los comandos SCP en un host remoto, como un VPS. Desglosaremos el comando SCP básico y brindaremos ejemplos para ayudarlo a comprender mejor cómo funcionan los comandos de Linux.

Comprensión de la sintaxis del comando SCP SSH

La sintaxis básica del comando SCP para realizar una transferencia de archivos entre dos sistemas remotos es la siguiente:

scp [other options] [source username@IP]:/[directory and file name] [destination username@IP]:/[destination directory]

Aquí hay un desglose del comando:

  • [otras opciones] - modificadores que puede agregar al comando SCP. Cubriremos los más populares más adelante.
  • [nombre de usuario de origen@IP] ‒ nombre de usuario e IP de la máquina que aloja el archivo de destino.
  • :/ ‒ informa al comando SCP que el usuario escribirá en el directorio de origen.
  • [directorio y nombre de archivo] ‒ la ubicación y el nombre del archivo.
  • [nombre de usuario de destino@IP] ‒ nombre de usuario e IP del sistema de destino.
  • [directorio de destino] ‒ el directorio de destino donde se guardará el archivo.

El siguiente ejemplo muestra el comando SCP en un escenario del mundo real:

scp -p [email protected]:/media/scp.png [email protected]:/desktop/destination

Si está copiando hacia o desde un host local, no necesitará la dirección IP y la ruta de origen o de destino como /desktop/folder_name .

Copiar archivos usando el comando SCP

Lo mejor de SCP es que le permite transferir archivos de forma segura entre dos hosts remotos o una máquina remota y un sistema local. Las siguientes secciones cubrirán cómo funcionan los comandos SCP para cada tipo de transferencia.

¡Importante! Independientemente del tipo de transferencia que realice con SCP, no debe estar conectado al servidor remoto a través de SSH.

Copiar desde un servidor local a un host remoto

Copiaremos un archivo local scp.zip a un servidor remoto llamado root . La dirección IP del servidor viene después del nombre de usuario.

scp /users/Hostinger/desktop/scp.zip [email protected]:/writing/article

Si no tiene configurada la confirmación automática del cliente SSH, se le pedirá que ingrese la contraseña de usuario de la máquina remota y verá un medidor de progreso. Se verá de la siguiente manera:

Contraseña de
[email protected]’s password:
novel3.zip 100% 0 0.0KB/s 00:00

Supongamos que el servidor remoto está configurado para escuchar conexiones SSH en un puerto que no sea el puerto SSH predeterminado 22. En este caso, deberá especificar ese puerto mediante -P. opción.

scp -P 2322 /users/Hostinger/desktop/scp.zip [email protected]:/writing/article

Si también desea cambiar el nombre del archivo durante la operación de transferencia, su comando se verá así (si no usa el puerto predeterminado, agregue –P seguido del número de puerto correspondiente):

scp /users/Hostinger/desktop/scp.zip [email protected]:/writing/article/howtoscp.zip

Usa la –r opción seguida de la misma línea de comando para copiar un directorio con múltiples archivos o subdirectorios.

scp -r /users/Hostinger/desktop [email protected]:/writing/article

Transferir un archivo remoto a una máquina local

La inversión de los sistemas de origen y destino del comando debe reflejarse en la sintaxis. Esta vez, copiaremos el scp.zip archivo desde el mismo host remoto a nuestra computadora local.

scp [email protected]:/writing/articles/SCP.zip Users/Hostinger/Desktop

Ejecutar este comando solicitará la misma salida de inicio de sesión SSH que requiere una contraseña. No aparecerá solo si los privilegios de sudo han deshabilitado la autenticación o forzado al cliente SSH a usar una clave privada en su máquina.

Mover con seguridad un archivo entre hosts remotos

Para copiar archivos de un servidor remoto a otro, deberá ingresar las contraseñas de ambas cuentas después de ejecutar el siguiente comando en su terminal:

scp [email protected]:/writing/article/scp.zip [email protected]:/publishing

El comando anterior copia el archivo fuente /writing/article/scp.zip del primer huésped al segundo. Para copiar carpetas, utilice -r y especifique la ruta de la carpeta en lugar del archivo que contiene.

En circunstancias normales, el archivo irá directamente del primer servidor remoto al segundo. Sin embargo, si desea redirigir la operación a través de su máquina, agregue el -3 opción como se muestra en el siguiente comando:

scp -3 [email protected]:/writing/article/scp.zip [email protected]:/publishing

Uso del comando SCP con opciones

Los ejemplos anteriores presentan varias opciones de SCP que modifican el comando. Existen numerosas opciones comunes en forma de un solo carácter (-o) y su equivalente descriptivo (-opción).

La -q El parámetro, por ejemplo, solicita al sistema que ejecute la operación en modo silencioso. Deshabilita la salida del medidor de progreso, así como los mensajes de advertencia y diagnóstico. Usa la -v parámetro para habilitar la salida detallada para facilitar la depuración:

scp -v /users/Hostinger/desktop/scp.zip [email protected]

El -4 y -6 Las opciones determinan la versión del protocolo empleada, que es IPv4 o IPv6. También puede configurar los requisitos de la dirección IP de manera más completa con la palabra clave de la familia de direcciones.

scp -6 [email protected]:/users/Hostinger/desktop/scp.zip

La -p La opción conserva la modificación, los tiempos de acceso y los modos del archivo de origen.

scp -p /users/Hostinger/desktop/scp.zip [email protected]

Usa la -estadística opción para verificar los detalles de los archivos copiados, como la fecha de creación y el tamaño del archivo.

El -C La opción habilita la compresión de datos para archivos o directorios grandes mientras se realiza la operación de transferencia. Tenga en cuenta que esta opción no funcionará en archivos comprimidos, como .zip y .rar archivos.

scp -C Folder [email protected]

No debe confundirse con -C , la -c La opción le permite especificar el algoritmo de cifrado que debe utilizar el cliente. Algunos de los valores que puede ingresar son 'aes256-ctr ', 'aes256-cbc ' y '3des-cbc '. La opción predeterminada en la configuración de shell es 'AnyStdCipher '.

scp -c 3des-cbc /users/Hostinger/desktop/scp.zip [email protected]

¡Importante! Tenga cuidado al usar las opciones de SCP, ya que distinguen entre mayúsculas y minúsculas.

Conclusión

El protocolo de copia segura facilita la transferencia de archivos entre múltiples sistemas remotos en una red. Le permite copiar archivos de forma segura de un host remoto a otro sin tener que iniciar sesión a través de una conexión cifrada.

Además, este método de transferencia remota de archivos cifra sus datos con un shell seguro, lo que garantiza la confidencialidad de la información transmitida.

Esperamos que este artículo le haya ayudado a comprender cómo funciona el comando SCP y cómo usarlo correctamente en servidores Linux.

Cómo usar el comando SCP para la transferencia de archivos:preguntas frecuentes

¿Cómo ejecuto SCP en Windows?

Puede ejecutar SCP en Windows a través de PuTTY. Este emulador de terminal proporciona PSCP (cliente de copia segura PuTTY) para la transferencia de archivos mediante una conexión SSH.
Después de descargar e instalar PuTTY, podrá usar el comando SCP a través de la interfaz de línea de comandos de Windows.
La sintaxis de SCP funciona de manera similar en las máquinas con Windows. La única diferencia es que debe comenzar cada línea de comando con pscp -scp .
Esta es la sintaxis básica del comando SCP en Windows:
pscp -scp [other options] [source username@IP]:/[directory and file name] [destination username@IP]:/[destination directory]

¿Puedo pasar la contraseña en el comando SCP?

Una de las mejores características del comando SCP es su cifrado de contraseña, que protege los archivos y directorios durante el proceso de transferencia. Sin embargo, ingresar la contraseña de usuario para iniciar cada transferencia de archivos puede llevar mucho tiempo, especialmente si tiene que mover varios archivos.
Implementar SSHPASS en la línea de comandos de SCP le permitirá automatizar el proceso de autenticación, evitando la solicitud de contraseña .
Esta utilidad proporciona autenticación de contraseña interactiva con el teclado, lo que le permite usar un comando de una línea para transferir archivos desde el sistema de origen a un sistema de destino de la siguiente manera:
sshpass -p [password] scp -r /users/Hostinger/desktop [email protected]:/writing/article
Puede habilitar SSHPASS generando pares de claves SSH. Si está utilizando una máquina con Windows, PSCP le permitirá pasar la contraseña usando -pw opción:
sshpass -pw [password] [email protected]:/writing/article

¿Cómo puedo detener o pausar SCP?

Puede pausar el proceso con la señal de "parada terminal" (SIGTSTP) presionando Ctrl+Z . Para reanudar el proceso, envíe la señal SIGCONT escribiendo fg .
Si SIGCONT no funciona, la otra opción implica usar el rsync utilidad. Compara los archivos o directorios de origen con los subidos parcialmente para evitar la duplicación, reanudando su descarga indirectamente.
Esta es la sintaxis básica de rsync :
rsync [option] user@host:[file/directory origin] [destination]
El siguiente ejemplo muestra cómo usar rysync para copiar recursivamente un .zip archivo y conservar su propiedad:
rsync -a /users/Hostinger/desktop/scp.zip [email protected]


Linux
  1. Cómo usar el comando SFTP para la transferencia segura de archivos

  2. Comando SCP en Linux:cómo usarlo, con ejemplos

  3. Comando SCP Linux:cómo transferir archivos SSH de remoto a local

  4. ¿Usar Scp para transferir un archivo del directorio local X al directorio remoto Y?

  5. Cómo transferir archivos de forma segura usando el comando SCP en Linux

Cómo usar el comando Truncar en Linux

Cómo usar un comando de archivo en Linux

Cómo usar Bluetooth en Ubuntu para la transferencia de archivos

Cómo usar el comando SCP en Linux

Cómo usar el comando lsof en Linux

Cómo usar el comando shred de Linux