Transferir archivos de forma segura utilizando SCP en Linux

La forma más común de obtener acceso de terminal a una máquina Linux remota es usar Secure Shell (SSH). Para funcionar, el servidor Linux necesita estar ejecutando un servidor SSH (OpenSSH) y en el otro extremo necesita un cliente SSH, algo como PuTTy en Windows o la herramienta sshcommand line en Linux u otros sistemas operativos similares a Unix como FreeBSD.

La atracción de SSH es que la conexión entre las dos máquinas está encriptada. Esto significa que puede acceder al servidor desde cualquier parte del mundo con la seguridad de que la conexión es segura. Sin embargo, la verdadera potencia de SSH es que la conexión segura que proporciona puede utilizarse para algo más que el acceso a los terminales. Entre sus usos se encuentra la posibilidad de copiar archivos a y desde un servidor remoto.

Para preparar el servidor, necesita instalar el paquete openssh-serverpackage. En Ubuntu, puede instalarlo desde el Centro de software de Ubuntu o utilizando la línea de comandos:

sudo apt-get install openssh-server

A continuación, debe descubrir la dirección IP del servidor. En Ubuntu, la dirección IP se muestra en el applet de red en Configuración del sistema o puede utilizar la línea de comandos:

ifconfig

>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>i

En la salida, busque la línea que comienza con inet bajo eth0. En este ejemplo la dirección IP del servidor es 192.168.1.101.

Transferir archivos de forma segura utilizando SCP en Linux

To><

ssh 192.168.1.101

Donde 192.168.1.101 es la dirección IP del servidor. Introduzca su nombre de usuario y contraseña cuando se le pida y se le conectará a la máquina remota. Si usted recibe una pregunta sobre la «autenticidad del host no se puede establecer», simplemente responda «sí» a la pregunta. Es una comprobación de seguridad diseñada para asegurarse de que se está conectando a su servidor real y no a un impostor.

Ahora que ha probado la conexión SSH, puede empezar a copiar archivos entre los dos equipos. Se consigue una copia segura utilizando el scp. El formato básico del comando scp es:

scp /filepath/to/file/to/file/to/copy user@IP-address:localpath

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

scp backup.zip gary@192.168.1.101:backups/

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

También puede usar comodines como éste:

scp *.zip gary@192.168.1.101:backups/

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

Note el punto al final del comando que significa «el directorio actual», como lo hace con los comandos estándar cp o mv.

Y lo mismo con los comodines:

scp gary@192.168.1.101:backups/*.zip .

Para copiar recursivamente un directorio a un servidor remoto utilice la opción -r:

scp -r backups/ gary@192.168.1.101:backups/

Y para copiar una copia recursiva de un directorio del servidor remoto al uso local de la máquina:

scp -r gary@192.168.1.101:backups/ .

Si no desea colocar los archivos entrantes en el directorio actual (observe el punto al final), puede especificar un nombre de directorio diferente:

scp -r gary@192.168.1.101:backups/ backups-from-server/

Conclusión

scp es una forma poderosa y conveniente de copiar archivos hacia y desde un servidor sin tener que configurar FTP u otros servidores para compartir archivos. Tiene la ventaja adicional de que es seguro (algo que no se puede decir de una instalación FTP por defecto). Para seguir avanzando, intente experimentar con la opción -C, que permite la compresión durante la copia, o la opción -l, que limita el ancho de banda durante la copia.

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *