Tema de Jannah La licencia no está validada. Vaya a la página de opciones del tema para validar la licencia. Necesita una sola licencia para cada nombre de dominio.

Cómo transferir archivos de forma segura en Linux usando SCP

Al transferir archivos a un servidor Linux remoto, tiene algunas opciones. Uno de los mejores métodos es usar un programa llamado Copia segura, o SCP, que se ejecuta en SSH para transferir rápidamente archivos a través de su red a un sistema remoto. Este tutorial le muestra cómo transferir archivos de forma segura en Linux usando SCP.

Cómo transferir archivos de forma segura en Linux usando SCP

SSH Configuración

En su servidor remoto, deberá instalar un servidor SSH. El más popular en Linux es el servidor OpenSSH. Para instalarlo, ejecute uno de los siguientes comandos:

# Servidor basado en Debian/Ubuntu sudo apt install ssh # Fedora sudo dnf install openssh

Cómo transferir archivos de forma segura en Linux usando SCP

Dependiendo de su distribución, es posible que deba permitir SSH a través de algunos firewalls de software. En Ubuntu, este problema no existe, pero en Fedora También tendrás que ejecutar los siguientes comandos:

sudo firewall-cmd --add-service=ssh --permanent sudo firewall-cmd --recargar

scp-transfer-linux-02-fedora-enable-firewall.png Cómo transferir archivos de forma segura en Linux usando SCP

Conéctese a su sistema a través de SSH

Antes de poder conectarse a través de SSH, debe conocer la dirección IP del servidor remoto. En los servidores gráficos, la dirección IP aparece en el subprograma Red en la configuración del sistema. En la mayoría de los servidores, debe usar el comando ip en la terminal.

ip addr

Cómo transferir archivos de forma segura en Linux usando SCP

En la salida, encuentre la línea que comienza con inet dentro de ethX أو enpXsy , dependiendo de cómo su interfaz de red se conecte al sistema. en mi caso es 192.168.68.108.

Probar Conexión SSH , ve a Dispositivo Linux diferente y tipo:

cambio "usuario" A اسم المستخدم el servidor real.

Cómo transferir archivos de forma segura en Linux mediante SCP

Ingresar contraseña Esta cuenta, y trabajas. Si recibe una pregunta sobre “La autenticidad del host no se puede probar”. Solo tienes que responder con "Sí". Es un control de seguridad diseñado para asegurarse de que está conectado a su servidor real y no a un fraude. Debería ver el mismo aviso en el sistema cliente que ve cuando inicia sesión directamente en el servidor, lo que significa que su conexión fue exitosa. También debe configurar conexiones SSH para máxima seguridad, o incluso Configurar la autenticación de dos factores , antes de continuar con el siguiente paso.

Lea también:  Cómo crear un navegador web personalizado con Nyxt

Usa SCP para transferir archivos

Ahora que ha probado la conexión SSH, comience a copiar archivos entre los dos dispositivos. La copia segura se logra mediante el comando scp. El formato básico del comando scp es:

scp /RUTA/AL/ARCHIVO USUARIO@DIRECCIÓN IP:RUTA/AL/DESEADO/DESTINO

Por ejemplo, para copiar un archivo “copia de seguridad.tar.gz” Desde la máquina local a una carpeta “copia de seguridad.tar.gz” en el directorio de inicio del usuario "ramces" En el servidor remoto con dirección IP 192.168.68.165 , usar:

scp copia de seguridad.tar.gz [email protected]:~/copias de seguridad/

Cómo transferir archivos de forma segura en Linux usando SCP

Al igual que cuando se conecta mediante ssh, se le solicitará la contraseña. No se le pedirá el nombre de usuario, como se especifica en el comando.

También puede utilizar comodines como los siguientes:

scp *.tar.gz [email protected]:~/copias de seguridad/

Cómo transferir archivos de forma segura en Linux usando SCP

Para copiar un archivo del servidor remoto a la máquina local, simplemente invierta los parámetros:

scp [email protected]:~/backups/backup.tar.gz ./

Cómo transferir archivos de forma segura en Linux usando SCP

¿Notas el punto al final? Significa "carpeta actual" , Al igual que con comandos estándar cp أو etcétera Puede seleccionar fácilmente otro directorio si lo desea.

scp-r [email protected]:~/copias de seguridad/ copias de seguridad-del-servidor/

Y lo mismo con los comodines:

scp [email protected]:~/copias de seguridad/*.txz ./

Para copiar recursivamente un directorio a un servidor remoto, use opción -r:

scp -r copias de seguridad/ [email protected]:~/copias de seguridad/

Cómo transferir archivos de forma segura en Linux usando SCP

Para copiar una copia duplicada de un directorio desde el servidor remoto a la máquina local, use:

scp-r [email protected]:~/copias de seguridad/ ./

Cómo transferir archivos de forma segura en Linux mediante SCP

Compresión de transferencia de archivos en SCP

Aparte de la copia básica, también es posible modificar el comportamiento de SCP durante estas transferencias de archivos. Por ejemplo, puede utilizar la etiqueta -C Para comprimir los datos que SCP envía a clientes remotos:

scp -C copia de seguridad.tar.gz [email protected]:/inicio/ramitas/

Esta opción funciona comprimiendo cada paquete de datos a medida que se envía a través de SCP. Como tal, esto puede ser increíblemente útil si tiene una conexión con ancho de banda limitado y desea enviar un archivo de manera confiable a un servidor remoto.

Cómo transferir archivos de forma segura en Linux mediante SCP

Similar a las opciones anteriores, también puede usar -C junto con la etiqueta -r Comprima archivos y transfiéralos recursivamente a una máquina remota. Por ejemplo, el siguiente comando comprime y recupera un archivo “copia de seguridad.tar.gz” Desde mi servidor remoto:

scp-Cr [email protected]:/home/ramces/copias de seguridad /home/ramces/

Cómo transferir archivos de forma segura en Linux usando SCP

Optimice la transmisión de datos con SCP

En su mayor parte, SCP trata de usar algoritmo de cifrado AES-128 para todas sus transferencias de archivos. Sin embargo, hay casos en los que este algoritmo en particular no será adecuado para los archivos que desea transferir.

Lea también:  Los mejores trucos y consejos para una experiencia agradable en Ubuntu para principiantes

Sabiendo esto, es posible mejorar aún más y asegurar SCP cambiando directamente el algoritmo de encriptación para una transmisión específica. Para hacer esto, necesita usar la etiqueta -c seguido del código que desea utilizar.

Por ejemplo, el siguiente comando mueve un archivo “copia de seguridad.tar.gz” a mi servidor remoto usando AES-256:

scp -c aes256-ctr ./backup.tar.gz [email protected]:/inicio/ramitas/

Cómo transferir archivos de forma segura en Linux usando SCP

Además, te da la opción -c También proporcione una lista de cifrados que desea usar para transferir un archivo en particular. Por ejemplo, el siguiente comando usa ambos AES-192 و AES-256 mientras transfiero un archivo “copia de seguridad.tar.gz” A mi servidor remoto:

scp -c aes192-ctr, aes256-ctr ./backup.tar.gz [email protected]:/inicio/ramitas/

Cómo transferir archivos de forma segura en Linux usando SCP

Limite el uso de ancho de banda en SCP

Si bien la compresión de paquetes de archivos puede ayudarlo a usar SCP en condiciones de red deficientes, también puede limitar el ancho de banda que usa el programa durante la transmisión. Esto es útil en los casos en los que está utilizando una conexión limitada y no desea que SCP se haga cargo del ancho de banda de su red.

Para limitar el ancho de banda efectivo del programa, debe usar etiqueta -l seguido de la cantidad máxima que desea En kilobits por segundo (Kb/s). Por ejemplo, ejecutar el siguiente comando moverá un archivo “copia de seguridad.tar.gz” A mi servidor remoto con un ancho de banda efectivo de 1600 Kb/s:

scp -l 1600 ./backup.tar.gz [email protected]:/inicio/ramitas/

Cómo transferir archivos de forma segura en Linux usando SCP

Tele a tele con SCP

Además de copiar archivos locales a su servidor remoto y viceversa, también puede usar SCP para administrar múltiples servidores remotos desde su máquina local, porque SCP solo maneja la transferencia de archivos y no distingue entre una máquina local y una máquina remota.

Para transferir entre dos servidores remotos, debe indicar explícitamente el nombre de usuario y la dirección de cada una de estas máquinas. Por ejemplo, ejecutar el siguiente comando moverá un archivo “copia de seguridad remota.tar.gz” el mío entre dos servidores remotos:

scp [email protected]:/home/ramces/remote-backup.tar.gz [email protected]:/inicio/ramitas/

Cómo transferir archivos de forma segura en Linux usando SCP

Usa un proxy con SCP

De manera predeterminada, SCP usa la dirección IP de su máquina local cuando transfiere archivos entre diferentes hosts. Si bien esto está perfectamente bien en situaciones normales, puede ser un problema si su red local restringe cualquier actividad de SCP. Una forma rápida de solucionar este problema es pasar su conexión local a través de un proxy SSH.

Para hacer esto, necesita usar una etiqueta -o seguido de una opción Comando de proxy. Esto le permite crear una conexión SSH básica a un nuevo dispositivo que, a su vez, ejecutará su comando SCP. Por ejemplo, ejecutar lo siguiente creará un nuevo agente SSH en una máquina remota y transferirá un archivo “copia de seguridad.tar.gz” usándolo:

scp -o "ProxyCommand ssh [email protected] nc %h %p" ./backup.tar.gz [email protected]:/inicio/ramitas/

Cómo transferir archivos de forma segura en Linux usando SCP

Cambiar el puerto predeterminado en SCP

Además de crear un proxy SSH básico, también puede cambiar el puerto predeterminado para SCP. Esto es especialmente útil si está asegurando un servidor Linux y no desea exponer ningún puerto virtual.

Lea también:  Cómo instalar y ejecutar juegos de Steam en Linux

Para usar SCP con un puerto diferente, debe usar una bandera -P seguido del número de puerto que desea utilizar. Por ejemplo, el siguiente comando copiará un directorio "Respaldo" recursivamente y conectarse al servidor remoto usando el puerto 2222:

scp -r -P 2222 ./copia de seguridad [email protected]:/inicio/ramitas/

Cómo transferir archivos de forma segura en Linux usando SCP

Usar el modo silencioso de SCP

Finalmente, también es posible eliminar por completo cualquier salida de terminal del comando SCP. Esto es especialmente útil si desea crear un script no interactivo que se ejecute en su terminal. No solo eso, sino que también puede automatizar completamente este proceso creando cronjob y transferencia clave SSH privado a su servidor.

Para crear un transporte SCP silencioso, debe usar la etiqueta -q. Por ejemplo, el siguiente comando moverá un archivo “copia de seguridad.tar.gz” en silencio a mi servidor remoto:

scp -q ./backup.tar.gz [email protected]:/inicio/ramitas/

Cómo transferir archivos de forma segura en Linux usando SCP

Preguntas frecuentes

P1: Mi control remoto para teletransportarse no funciona en SCP. ¿Cómo puedo arreglar esto?
respuesta. Lo más probable es que este problema se deba a un puerto bloqueado en uno de los archivos de configuración de su máquina remota. Para solucionar esto, asegúrese de que el puerto predeterminado para SSH esté abierto en ambos dispositivos.

Este problema también puede deberse a que una de sus máquinas remotas esté detrás de una conexión CG-NAT, por lo que cualquier conexión externa a su máquina remota no se resolverá correctamente. Para resolver este problema, es necesario utilizar software VLAN , Tal como Yggdrasil , que te permitirá pasar CG-NAT.

P2: encendí el proxy SCP y el host remoto cerró la conexión. ¿Qué puedo hacer?
respuesta. Lo más probable es que este problema se deba a un problema con su máquina proxy. Para iniciar correctamente el agente SSH, asegúrese de que la máquina que desea usar tenga un servidor OpenSSH y netcat. Para instalar estos programas en ubuntu, Ejecute el siguiente comando: sudo apto instalar ssh netcat.

P3: ¿Es posible encontrar todos los cifrados disponibles para SCP?
respuesta. De forma predeterminada, SCP depende en gran medida del protocolo SSH para sus funciones de cifrado. Por esta razón, puede usar el script SSH para imprimir una lista de cifrados que puede usar junto con SCP. Por ejemplo, puede ejecutar cifrados ssh-Q Imprime una breve lista de todos los cifrados disponibles en su dispositivo.

Ir al botón superior