Esto de trabajar con varios ordenadores en red tiene sus cosillas, pero es evidente que uno de las actuaciones necesarias e imprescindibles a realizar es el intercambio de información entre ellos, copiar, mover y sincronizar archivos y directorios.
Para ello tenemos unas herramientas imprescindibles: ssh, scp y rsync, que nos permiten realizar este trabajo. En primer lugar ssh (secure shell), sirve para acceder a máquinas a través de la red, permitiendo controlar por completo la máquina a la que accedemos mediante el intérprete de comandos.
La siguiente herramienta es scp (secury copy), que nos permite copiar, de forma segura, archivos entre dos equipos.
Y la última herramienta es rsync, que es una aplicación que sincroniza archivos y directorios entre dos máquinas minimizando la transferencia de información siempre que es posible.
¿Cómo utilizarlo?
Para utilizarlo
Antes de nada tienes que instalar los paquetes necesarios tanto en el origen como en el destino. En principio, en el que hace de origen no es necesario que instales los paquetes correspondientes para hacer de servidor ssh, pero tampoco está de más tenerlo en ambas máquinas, porque te simplifica el trabajo:
sudo apt-get install openssh-server openssh-client
scp
simplemente se indica el archivo de origen y el de destino:
scp archivo_origen archivo_destino
La gracia de este es hacerlo entre la máquina en la que nos encontramos y la máquina destino:
scp archivo_origen usuario@ip_maquina_destino:archivo_destino
donde ip_maquina_destino es eso, la ip de la máquina de destino, por ejemplo si quiero mover el archivo misdatos.txt desde mi máquina al directorio /home/usuario/, localizada en la ip 192.168.1.101 la instrucción sería la siguiente:
scp misdatos.txt usuario@192.168.1.101:misdatos.txt
Cuando ejecutemos esta instrucción nos pedirá la contraseña de «usuario». Evidentemente «usuario» tiene que existir en la máquina de destino. Hay que darse cuenta que el origen de los directorios es el directorio de «usuario». Por ello, si queremos copiar en la carpeta «/home/usuario/temporal/», la instrucción pasaría a ser:
scp misdatos.txt usuario@192.168.1.101:temporal/misdatos.txt
Cada vez que ejecutamos la orden scp nos pide la contraseña de «usuario»
rsync
Esta herramienta nos pemite sincronizar dos directorios entre la máquina origen y la máquina destino. Con lo que como te puedes imaginar es una herramienta fundamental. Por ejemplo
rsync -av origen/ usuario@192.168.1.101:destino/
Las opciones utilizadas son:
-a, que permite la copia recursiva, los enlaces simbólicos y preserva el grupo y el propietario.
-v, muestra lo que estás haciendo.
También es interesante utilizar la opción ––delete, de forma que borra en el destino lo que no exista en la máquina origen. Con lo que nuestra instrucción quedaría algo así como:
rsync -av --delete origen/ usuario@192.168.1.101:destino/
ssh
Con ssh accedemos desde el terminal al terminal de la máquina destino, haciendo las operaciones típicas que podemos hacer en nuestra máquina:
ssh usuario@192.168.1.101
También lo podemos hacer directamente desde Nautilus, en Archivo>Conectar con el servidor…:
Nos aparecerá la siguiente ventana:
Introducimos la dirección de la máquina destino y el nombre de usuario de la máquina destino. Pulsamos el botón Conectar y a continuación nos pedirá la contraseña de «usuario». Una vez terminado en Nautilus nos aparecerá montado este nuevo directorio en Red:
Como ves de esta manera hacer todo el trabajo entre máquinas es muy facilito.
Gracias. Muy claro y muy útil. Pablo