12 scp command examples securely transfer files linux
Este tutorial explica el protocolo de copia segura o el comando SCP que se utiliza para copiar de forma segura los archivos en Linux y Unix con sintaxis y ejemplos:
En este artículo, analizaremos el comando SCP (Protocolo de copia segura) que se utiliza para la transferencia de archivos. Veremos qué es y cómo funciona con la ayuda de algunos ejemplos. Entonces, primero intentemos entender qué es el comando SCP.
Lo que vas a aprender:
¿Qué es el comando SCP?
SCP (Protocolo de copia segura) es un protocolo de red que se utiliza para transferir de forma segura los archivos entre hosts en una red informática. Con esta utilidad de línea de comandos en sistemas tipo Linux y Unix, puede transferir archivos desde un host local a un host remoto, o desde un host remoto a un sistema local, o entre dos hosts remotos.
(imagen fuente )
SCP garantiza la autenticidad, el cifrado y la confidencialidad de los datos mediante el uso del mecanismo SSH (Secure Shell) para transferir los archivos. Por lo tanto, los datos en tránsito están protegidos de los ataques de espionaje. Los clientes pueden cargar y descargar archivos y directorios desde y hacia un servidor usando este protocolo. Requiere contraseña o claves para la autenticación. El puerto predeterminado para SCP es el puerto TCP 22.
La ventaja del protocolo SCP es que no es necesario iniciar una sesión FTP o iniciar sesión en los hosts remotos de forma explícita para la transferencia de archivos.
Sintaxis para el protocolo SCP
# 1) Para copiar el archivo de local al host remoto
|_+_|Esta es la sintaxis muy básica del comando SCP que copiará el archivo de origen del host actual a la ruta de destino en el host de destino utilizando una cuenta de usuario. Normalmente, es bastante similar al comando copy cp.
# 2) Para copiar desde un host remoto a local
Para copiar archivo:
|_+_|O, simplemente descargue el archivo:
|_+_|Para copiar Carpeta (recursivamente):
|_+_|Si el host remoto usa un puerto diferente al puerto predeterminado 22, entonces el número de puerto debe ser mencionado explícitamente en el comando usando la opción -P.
# 3) Copiar de una computadora remota a otra computadora remota
|_+_|Cuando copia archivos de una computadora remota a otra, el tráfico no pasa por su computadora. Esta operación se realiza directamente entre los dos servidores remotos.
# 4) Copiar varios archivos
Para copiar varios archivos de localhost a un host remoto:
|_+_|Para copiar varios archivos desde un host remoto a un directorio actual de localhost:
|_+_|Opciones utilizadas con el comando SCP
Las opciones más utilizadas con el comando SCP se enumeran a continuación:
- -C : C, aquí significa habilitar compresión. Al usar esta opción, se habilitará la compresión y se aumentará la velocidad de transferencia durante la copia. Automáticamente habilitará la compresión en la fuente y la descompresión en el objetivo.
- -c : c significa cifrado. De forma predeterminada, SCP usa 'AES-128' para el cifrado de archivos. Si desea cambiar el cifrado, debe utilizar la opción -c seguida del nombre del cifrado.
- -I : significa identificar archivo o clave privada. Generalmente, la autenticación basada en claves se elige en entornos Linux. Entonces, podemos mencionar específicamente el archivo de clave privada o el archivo de identidad usando la opción -i.
- -l: l significa límite de ancho de banda. A través de esta opción, puede establecer el ancho de banda máximo que se utilizará. Está en Kbits / s.
- -B: Esta opción se utiliza para utilizar el modo por lotes durante la copia.
- -F: Esta opción se usa para usar un archivo ssh_config diferente mientras se copia en situaciones en las que necesita usar redes diferentes para conectarse a sistemas Linux. En tales escenarios, debe asignar un archivo de configuración SSH por usuario sustituto.
- -PAG : Si el número de puerto ssh del host de destino es diferente al número de puerto predeterminado 22, entonces debe mencionar específicamente el número de puerto usando la opción -P.
- -pag: Esta opción se utiliza para conservar los permisos, las modificaciones y los tiempos de acceso de los archivos durante la copia.
- -q: Esta opción ejecutará el comando SCP en modo silencioso. Apagará el medidor de progreso y no mostrará el progreso de la transferencia, los mensajes de advertencia o de diagnóstico de ssh en la pantalla del terminal Linux.
- -r: La opción -r se usa para copiar los archivos y directorios de forma recursiva. Por ejemplo, si desea copiar la carpeta completa (junto con el contenido dentro de la carpeta) en una máquina de destino, debe usar la opción -r.
- -S : Esta opción se utiliza para especificar el programa que se utilizará para conectarse.
- -v: v significa detallado. Esta opción mostrará el progreso paso a paso de la ejecución del comando SCP en la pantalla del terminal. Es realmente útil para depurar.
Ejemplos de comandos de SCP
Entendamos cómo usar el comando SCP con la ayuda de ejemplos:
Ejemplo 1: para copiar de local a remoto
|_+_|En el ejemplo anterior,
cómo iniciar un proyecto en eclipse
- La opción -v se usa como una opción detallada para ver los detalles de la salida de este comando en el terminal de Linux. Con la salida detallada, puede saber exactamente qué sucede en segundo plano cuando se ejecuta el comando. Esto ayuda a depurar.
- Lockfile.txt es el nombre del archivo fuente que queremos transferir a un host remoto.
- Kaushapx es un ejemplo de nombre de usuario. Con esta cuenta de nombre de usuario, copiaremos de forma segura el archivo al host remoto.
- 10.172.80.167 es el ejemplo de la IP del host remoto de destino al que queremos transferir el archivo.
- / home / cpf657 / kaushapx / test1 es un ejemplo de una ruta absoluta donde queremos poner este archivo transferido.
Las siguientes capturas de pantalla demuestran la ejecución del comando SCP anterior.
Ejemplo 2: para copiar desde un host remoto al sistema local:
|_+_|
Ejemplo 3: para copiar varios archivos a un host remoto:
|_+_|
Ejemplo 4: para copiar archivos en dos sistemas remotos:
|_+_|
Ejemplo 5: para copiar archivos y directorios de forma recursiva (usando la opción -r):
Supongamos que tengo una carpeta llamada 'prueba' en el host local y esta carpeta contiene cuatro archivos. Quiero copiar la carpeta completa dentro de otra carpeta llamada 'test1' presente en un host remoto.
Usaré el siguiente comando:
|_+_|
Ejemplo 6: para aumentar la velocidad de copia habilitando la compresión (usando la opción -C):
Transfieramos la misma carpeta que hicimos en el Ejemplo 5, pero esta vez habilitando la compresión:
|_+_|
Ejemplo 7: para limitar el ancho de banda durante la copia (usando la opción -l):
Continuemos con la misma opción. Esta vez usaremos la opción -l y especificaremos el ancho de banda, digamos 500. Recuerde, el ancho de banda que hemos puesto aquí está en Kbit / s.
Ejemplo 8: para especificar un puerto ssh diferente al copiar (usando la opción -P):
Si el servidor remoto en el que está copiando el archivo está usando algún puerto que no sea el puerto predeterminado 22, entonces debe indicar explícitamente el número de puerto en el comando SCP usando la opción -P. Por ejemplo, si el puerto ssh del servidor remoto es 2022, mencionará -P 2022 en el comando SCP.
|_+_|
Ejemplo 9: para preservar los permisos, las modificaciones y los tiempos de acceso de los archivos durante la copia (usando la opción -p):
|_+_|
Ejemplo 10: para copiar archivos en modo silencioso (usando la opción -q):
|_+_|
Ejemplo 11: para identificar archivos en SCP durante la copia (usando la opción -i):
En el ejemplo anterior, my_private_key.pem es el archivo de identidad o el archivo de clave privada.
Ejemplo 12: para usar un cifrado diferente mientras copia a través de SCP (usando la opción -c):
|_+_|Preguntas frecuentes sobre el comando SCP
En esta sección, cubriremos algunas preguntas frecuentes sobre el comando SCP.
P # 1) ¿Qué es el comando SCP?
Responder: SCP significa Protocolo de copia segura. Con el comando SCP, puede realizar la copia de archivos de forma segura entre hosts en una red. Utiliza los mecanismos de SSH para la transferencia de datos. Utiliza autenticación basada en clave o contraseña.
diferencia entre las pruebas de carga y rendimiento
P # 2) ¿Qué hace SCP en Linux?
Responder: En Linux, el comando SCP transfiere los archivos entre servidores de forma segura. Podría ser una copia de archivo entre un servidor remoto y un host local o entre dos servidores remotos. SCP es un comando preinstalado en Linux y es conocido por su simplicidad y seguridad.
P # 3) ¿Cómo creamos archivos SCP en Linux?
Respuesta: Puede archivos SCP con la siguiente sintaxis de comando:
|_+_|Se pueden usar muchas opciones con el comando SCP. Por ejemplo, -C para compresión, -c para cifrado, -P para el puerto, -I para la clave privada, -l para límite, -r para copia recursiva, etc.
P # 4) ¿Cómo SCP un archivo?
Responder: Puede SCP un archivo usando el comando SCP como se menciona en Q # 3.
P # 5) ¿SCP copia o mueve?
Responder: El comando SCP copia los archivos desde el origen al destino. Entonces, después de SCP, el archivo estará presente en ambos hosts.
P # 6) ¿Puede usar SCP para un directorio?
Responder: Sí, podemos usar SCP para un directorio. Debe usar la opción -r para copiar todo el directorio junto con su contenido.
A continuación se muestra la sintaxis del comando SCP para copiar el directorio de un host local a un host remoto:
|_+_|P # 7) ¿Cómo usamos SCP para todos los archivos en un directorio?
Responder: Para usar SCP en todos los archivos de un directorio, debe agregar * con la ruta del directorio:
|_+_|De esta forma, todos los archivos dentro del directorio local se copiarán al directorio remoto.
P # 8) ¿Podemos usar SCP en Windows?
Responder: Sí, puede usar SCP en Windows. Sin embargo, no está descargado previamente en Windows, a diferencia de Linux y Mac, por lo que para Windows, debe instalar el software SCP por separado.
Puede descargar Putty, que incluye SCP para Windows (software llamado Putty SCP (PSCP), o puede descargar WinSCP (Windows Secure Copy). El cliente PSCP se ejecuta directamente desde el símbolo del sistema de Windows. También hay otro software para usar SCP en Windows .
P # 9) ¿Cómo usamos SCP para múltiples archivos?
Responder: Para copiar varios archivos de localhost a un host remoto usando SCP:
|_+_|Para copiar varios archivos desde un host remoto a un directorio actual de localhost usando SCP:
|_+_|P # 10) ¿Cuál es la diferencia entre SCP y SFTP?
Responder: SCP es el protocolo de copia segura. SFTP es el protocolo seguro de transferencia de archivos. Ambos usan el puerto TCP 22 y se ejecutan en el mecanismo SSH. Pero difieren en especificaciones y funciones.
SCP solo transfiere los datos, mientras que SFTP también realiza funciones de acceso y administración de archivos, además de la transferencia de archivos. Con SFTP, puede realizar operaciones como enumerar directorios remotos o eliminar archivos. Pero SCP solo permite la copia de archivos y directorios entre servidores.
La velocidad de transferencia de archivos en SCP es más rápida que en SFTP porque utiliza un algoritmo más eficiente para transferir archivos.
pn para kodi
En SFTP, puede reanudar la transferencia de archivos interrumpida desde el cliente de línea de comandos. Pero SCP no tiene esta función.
SFTP ofrece un componente GUI pero SCP no lo tiene.
P # 11) ¿Qué es el comando SCP en Windows para copiar un archivo de forma segura?
Responder: Abra el símbolo del sistema de Windows y proporcione el siguiente comando para copiar de forma segura un archivo desde una máquina local de Windows a un servidor (puede ser un servidor Linux):
pscp filepath ID de usuario @ target_server_ip: target_path
Ejemplo: pscp c: desktop sample.txt userxyz@192.162.x.x: /tmp/foo/sample.txt
Debería tener PSCP instalado para ejecutar este comando.
P # 12) ¿Es seguro SCP?
Responder: Sí, SCP es seguro. Utiliza el mecanismo SSH (Secure Shell Protocol) para la transferencia de datos, por lo que se beneficia de la seguridad que ofrece SSH. Los datos en tránsito se mantienen confidenciales y también se garantiza su autenticidad.
Conclusión
En este tutorial, hemos visto cómo usar el comando SCP para copiar de forma segura los archivos entre dos hosts remotos o entre un host local y un host remoto, sin iniciar una sesión FTP o iniciar sesión en las máquinas remotas explícitamente.
SCP emplea el mecanismo SSH para copiar los datos y, por lo tanto, los datos en tránsito están cifrados y protegidos. Necesita una contraseña o clave para la autenticación. A diferencia de RCP (Protocolo de copia remota) o FTP (Protocolo de transferencia de archivos), SCP cifra tanto el archivo como las contraseñas intercambiadas entre los sistemas para proteger cualquier intrusión en la red.
Lectura recomendada
- Cortar comando en Unix con ejemplos
- Buscar comando en Unix: buscar archivos con Unix Buscar archivo (ejemplos)
- Sintaxis del comando Unix Cat, opciones con ejemplos
- Comando Ls en Unix con ejemplos
- Argumentos de la línea de comandos en un script de shell de Unix con ejemplo
- Comando Grep en Unix con ejemplos simples
- Manipulación de archivos en Unix: descripción general del sistema de archivos Unix
- Comando de ordenación de Unix con sintaxis, opciones y ejemplos