sábado, 25 de abril de 2009

Cómo copiar archivos desde la XO a otra PC cualquiera via red y viceversa

Comparto este material confeccionado por Flavio desde su sitio:
http://sites.google.com/site/flaviodanesse/manejo-de-xo--ceibalita/copiar-archivos-por-la-red

Copiar archivos por la red
Lo que vamos a hacer es conectarnos por la red a la XO y utilizar la XO como si estuviéramos frente a ella.

También vamos a hacer lo inverso, conectarnos desde la XO a otra PC cualquiera y utilizarla como si estuviéramos frente a ella.

Vamos a hacer esto para poder copiar y mover archivos entre ellas y vamos a hacerlo de esta forma porque es la única forma de hacer esto ya que el software de la XO solo permite hacerlo así.

Para ello, vamos a necesitar una red interna con router inalámbrico al cual tendremos la XO conectada y otra PC culquiera que puede ser otra XO o una PC de escritorio y en la PC de escritorio tenemos que instalar ssh (security shell). (En realidad no necesitamos una red, podemos usar la malla, pero eso lo veremos más adelante).

En mi ejemplo utilizaré la XO de mi hija y mi PC de escritorio un Celeron de 2.26Mhz con Ubuntu 8.04.

Para hacer esto, necesitamos saber las IP de cada Pc, el nombre de usuario de ambas y sus claves.

PASOS

1) Conectar las PC a la misma Red:

Así que encendemos las dos máquinas y nos aseguramos de que estén conectadas a la red.

2) Instalar ssh en la PC de escritorio:

ssh (Security Shell) permite obtener la terminal en la pc remota y loguearnos a ella como si estuviéramos sentados frente a ella.

A linux en realidad no le interesa donde está el usuario sino los permisos que posee, por ello es muy sencillo hacer esto con ssh.

Obviamente cuando nos logueemos tendremos que hacerlo con nombre de usuario real y su clave.

Si tienes ubuntu, instalar ssh es tan sencillo como esto:

sudo apt-get install ssh

Hecho esto ya podemos realizar nuestro ejemplo, sin embargo no es seguro dejar ssh sin configurar, así que luego de hacer el ejemplo hay que configurarlo bien para que no nos entre cualquiera por la red, eso lo veremos después, ahora vamos a realizar nuestro ejemplo:

3) Conectar desde XO a PC de escritorio:

La XO ya trae ssh por eso no hay que instalar nada.
Necesitamos conocer la ip de la PC de escritorio, así que en ella hacemos:

ifconfig

(La ip es el numero que aparece en el apartado eth0 del tipo 192.168.1.1)

También necesitamos saber el nombre de usuario en esa PC y su clave.

Con esos datos, nos conectamos desde la terminal de la XO mediante:

ssh usuariodelaPCdeescritorio@ipdelapcdeescritorio

En mi caso sería: ssh flavio@192.168.1.2

Cuando demos enter nos pedirá confirmación para conectarnos, escribimos:

yes

y damos ENTER, nos pedirá la clave del usuario en la PC de escritorio, la escribimos y damos ENTER (no verás la clave mientras la escribes).

Si lo hemos hecho bien, nos aparecerá en el prompt de acceso a la terminal, una linea asi:

nombredeusuario@nombredelapc

Eso quiere decir que ya estas conectado a la PC y puedes usarla como si realmente estuvieras frente a ella, prueba listar los archivos (ls), moverte por los directorios(cd directorio), etc, verás que realmente estás trabajando en la PC de escritorio.

Incluso, puedes reiniciarla (reboot), apagarla (halt), etc (obviamente, puedes hacer las cosas que le están permitidas a ese usuario en la PC de escritorio).

Bien ahora que estamos conectados, lo que vamos a hacer es copiar un archivo desde la PC de escritorio hacia la XO, para hacer esto usaremos un comando de ssh llamado scp.

Copiar un Archivo desde la PC a la XO:

Pero acá hay un inconveniente:
Cuando le digamos que copie el archivo hacia la XO, la XO nos pedirá el usuario y la clave y si no le damos un usuario y clave válidos no nos dejará hacer la copia.
Todas las XO poseen el mismo usuario llamado olpc, pero no tiene clave y la configuración del ssh de la XO no permite conecciones sin claves o con claves nulas ni con clave de root.
Así que en la XO hay que crear una clave para el usuario olpc, así que en otra terminal de la XO crearemos una clave para el usuario olpc, escribimos:

passwd

nos pedirá que ingresemos la clave y luego su confirmación (no verás la clave mienstras la escribes)

Ahora si, ya tenemos el usuario olpc con clave en la XO, así que podemos copiar el archivo, volvemos a la otra terminal donde estábamos conectados a la PC de escritorio y copiamos nuestro archivo mediante:

scp ruta/archivo olpc@ipdeXO:ruta/nombrenuevodearchivo

En mi caso sería así:

scp mifoto.jpg olpc@192.168.1.7:/home/olpc/mifoto.jpg

Al dar enter nos pide la clave del usuario olpc, la ingresamos y damos enter y habremos copiado el archivo deseado.

(La clave que hemos creado para olpc quedará luego de creada, hasta que la cambiemos o la borremos, así que no hay que olvidarla).

Ya logramos copiar nuestro archivo, así que si aprendes a movertre por los directorios de linux y a ejecutar archivos y demás, a partir de este ejemplo podrás, desde la XO, utilizar todos sus programas y además todos los programas de cualquier otra PC a la que te conectes por ssh, contarás con toda su capacidad de almacenamiento, etc, estarás usando ambas maquinas a la vez o más de dos si quieres, puedes usar ssh con tantas PC como desees al mismo tiempo (en diferentes terminales).

4) Conectar desde la PC a la XO:

Obviamente, hacer lo inverso, es fácil, además ahora ya tenemos la clave de olpc en nuestra XO, así que no habrá inconveniente en hacerlo.

ssh olpc@192.168.1.7

nos pide confimación, escribimos yes.
nos pide la clave de olpc, la escribimos, damos enter y listo, estamos trabajando en la xo.
podemos hacer lo mismo que ya hicimos antes en la pc de escritorio.

¿Qué aplicación puede tener esto?

Si eres profesor o maestro y tienes tu xo o notebook puedes configurar con tus alumnos todas las pc de tu clase de forma que cada xo tenga una clave para su usuario olpc.
Si el docente posee una xo o un notebook con ssh los alumnos pueden guardar sus trabajos en la pc del docente cuando quieran, para eso, el docente debe darles un usuario y clave para que ellos entren. Tambien el docente puede pasarle archivos a sus alumnos si conoce las claves y las ip de sus xo. Todos pueden compartir archivos entre si e incluso aplicaciones, conexiones a internet, etc. Lo mejor es hacerlo con una red interna a partir de un router inalámbrico correctamente configurado, pero también se puede hacer via red mesh.

Tambien se pueden automatizar todas estas tareas via script de bash, ya veremos como lo hacemos.

2 comentarios:

Fernanda Andión dijo...

Hola Paola:

Somos docentes de la Escuela 104 de la ciudad de Santa Lucía. Nos gustó mucho tu blog y lo vamos a enlazar al nuestro para que sirva de ayuda a nuestros docentes y familias.
También me gustaría compartir el que realizo con el liceo donde trabajo.
http://ciento4.blogspot.com/

http://cuatroyseis.blogspot.com/

Paola Bruccoleri Arrambide dijo...

Hola Fernanda.. ya enlacé tus blog para seguirlos..
Saludos