Al acceder a un servidor Linux, tiene algunas opciones. Si se trata de un servidor con una interfaz de usuario, puede usar VNC, pero la opción más común es iniciar sesión en un servidor sin periféricos 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 Copia segura, o SCP, que se ejecuta sobre el sólido protocolo SSH 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 utilizando SCP en Linux.
Configuración de SSH
En su servidor (o 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:
# Debian/Ubuntu-based server sudo apt install openssh-server # Fedora/Centos sudo dnf install openssh-server
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 deberá ejecutar los siguientes comandos:
sudo firewall-cmd --add-service=ssh --permanent sudo firewall-cmd --reload
En este punto, necesitará un cliente SSH. En la mayoría de las distribuciones, tiene instalado el cliente OpenSSH. Pero, si no lo hace, instálelo con el siguiente comando:
# Debian/Ubuntu-based distro sudo apt install openssh-client # Fedora sudo dnf install openssh-client
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 usar el ip
comando en la terminal.
En la salida, busque la línea que comienza con inet
por 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» al nombre de usuario real en el servidor.
Ingrese la contraseña de esa cuenta y estará en el negocio. Si recibe una pregunta sobre «no se puede establecer la autenticidad del host», 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 cuando inicia 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 comenzar a copiar archivos entre las dos máquinas. La copia segura se logra usando el scp
dominio. El formato básico de la scp
el comando es:
scp /PATH/TO/FILE USER@IP-ADDRESS:PATH/TO/DESIRED/DESTINATION
Por ejemplo, para copiar el archivo «backup.txz» de la máquina local a la carpeta «backups» en el directorio de inicio del usuario «expertogeek» en el servidor remoto con la dirección IP 192.168.1.101, use:
scp backup.txz expertogeek@192.168.122.201:~/backups/
Similar a cuando te conectas usando ssh
, se le pedirá la contraseña. No se le pedirá el nombre de usuario, ya que se especificó en el comando.
También puede utilizar comodines como los siguientes:
scp *.txz expertogeek@192.168.122.201:~/backups/
Para copiar un archivo del servidor remoto a la máquina local, simplemente invierta los parámetros:
scp expertogeek@192.168.122.201:~/backups/backup.txz .
Observe el punto al final del comando que significa «el directorio actual», como lo hace con el estándar cp
o mv
comandos Podría especificar fácilmente algún otro directorio si quisiera.
scp -r expertogeek@192.168.122.201:~/backups/ backups-from-server/
Y lo mismo con los comodines:
scp expertogeek@192.168.122.201:~/backups/*.txz .
Para copiar recursivamente un directorio a un servidor remoto, use el -r
opción:
scp -r backups/ expertogeek@192.168.122.201:~/backups/
Y para copiar una copia recursiva de un directorio desde el servidor remoto al uso de la máquina local:
scp -r scp -r expertogeek@192.168.122.201:~/backups/ .
Otros comandos SCP para probar
Para progresar más, intente experimentar con el -C
opción, que permite 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.