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

Al acceder a un servidor Linux, tiene algunas opciones. Si es un servidor con una interfaz de usuario, puede utilizar VNC, pero la opción más común es iniciar sesión en un servidor sin cabeza con Secure Shell o SSH. Es un protocolo seguro y encriptado que le da acceso a un sistema remoto a través […]

Transferencia de archivos scp destacado

Al acceder a un servidor Linux, tiene algunas opciones. Si es un servidor con una interfaz de usuario, puede utilizar VNC, pero la opción más común es iniciar sesión en un servidor sin cabeza con Secure Shell o SSH. Es un protocolo seguro y encriptado que le da acceso a un sistema remoto a través de un cliente SSH. Sin embargo, es posible que desee enviar algunos archivos a un servidor. Para eso, puede usar un programa llamado Secure Copy, o SCP, que se ejecuta sobre el protocolo SSH incondicional para transferir rápidamente archivos a través de su red a un sistema remoto. Aquí le mostramos cómo transferir archivos de forma segura usando SCP en Linux.

Configurar SSH

En su servidor (o en cualquier sistema remoto al que desee acceder), deberá instalar un servidor SSH. El más común en Linux es el servidor OpenSSH. Para instalarlo, puede ejecutar uno de los siguientes comandos:

Instalación de Scp Dnf

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 CentOS, también tendrá que ejecutar los siguientes comandos:

Servicio de adición de comando de firewall scp
Recarga de Cmd de Firewall Scp

En este punto, necesitará un cliente SSH. En la mayoría de las distribuciones, tienes instalado el cliente OpenSSH. Pero, si no lo hace, instálelo con el siguiente comando:

Conexión a su sistema a través de SSH

Asegurémonos de que SSH funcione antes de intentar jugar con SCP. Antes de poder conectarse a través de SSH, debe descubrir la dirección IP del servidor. En los servidores gráficos, la dirección IP se muestra en el subprograma Red en Configuración del sistema. En la mayoría de los servidores, debe utilizar el ip comando en la terminal.

IP del servidor del scp

En la salida, busque la línea que comienza con inet debajo eth0 o enp1s0, dependiendo de cómo esté conectada su interfaz de red al sistema. En mi caso, es 192.168.122.201.

Para probar la conexión SSH, muévase a la máquina cliente de Linux y escriba:

Cambie el «usuario» por el nombre de usuario real en el servidor.

Cliente de prueba de Scp Ssh

Ingrese la contraseña de esa cuenta y estará en el negocio. Si tiene una pregunta sobre la “no se puede establecer la autenticidad del anfitrión”, simplemente responda “sí” a la pregunta. Es un control de seguridad diseñado para asegurarse de que se está conectando a su servidor real y no a un impostor. Debería ver aparecer el mismo mensaje en su sistema cliente que ve al iniciar sesión directamente en el servidor, y eso significa que su conexión fue exitosa. También debe configurar sus conexiones SSH para obtener la máxima seguridad antes de continuar con el siguiente paso.

Uso de SCP para transferir archivos

Ahora que ha probado la conexión SSH, puede empezar a copiar archivos entre las dos máquinas. La copia segura se logra utilizando el scp mando. El formato básico del scp comando es:

Por ejemplo, para copiar el archivo «backup.txz» de la máquina local a la carpeta «backups» en el directorio de inicio del usuario «maketecheasier» en el servidor remoto con la dirección IP 192.168.1.101, utilice:

Prueba scp

Similar a cuando te conectas usando ssh, se le pedirá la contraseña. No se le pedirá el nombre de usuario, como se especificó en el comando.

También puede utilizar comodines como los siguientes:

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

Observe el punto al final del comando que significa «el directorio actual», como lo hace con el estándar cp o mv comandos. Podrías especificar fácilmente otro directorio si quisieras.

Y lo mismo con los comodines:

Para copiar de forma recursiva un directorio a un servidor remoto, utilice el -r opción:

Y para copiar una copia recursiva de un directorio desde el servidor remoto a la máquina local, use:

Otros comandos SCP para probar

Para progresar más, intente experimentar con el -C opción, que habilita la compresión durante la copia o la -l opción, que limita el ancho de banda durante la copia.

Para transferir un archivo sin tener que escribir una contraseña cada vez, también puede generar una clave SSH privada para conectarse a su servidor.