lunes, 30 de noviembre de 2009

acceso remoto a archivos vía ssh en debian

Pues hoy os vengo a explicar como acceder vía ssh (linea de comandos segura) de un pc a otro, y ademas como montar directorios de otro pc y trabajar con ellos como si los archivos estuvieran en nuestro pc

Necesitamos 2 pcs (A, al que accederemos y B, desde el que accederemos), obvio, ya que queremos conectar uno con otro de manera segura, transmitir datos y trabajar con la terminal de uno en el otro o viceversa, y en mi caso como suelen usar ip dinámicas, pues tendré que trabajar con no-ip (que luego explicare)

Antes de nada instalaremos el servidor ssh en el ordenador al que queramos acceder en mi caso A:
#aptitude install openssh-server
y en el otro ordenador (B) el cliente que accederá:
#aptitude install openssh-client
Podéis instalar en ambos pcs los 2 paquetes, y así podréis hacer el proceso inverso de acceder desde el pc A al B

Después la cosa seria probar a ver si funciona, nos vamos al pc B y ejecutamos esto como usuario normal:
$ssh nombre-de-usuario-del-pc-A@la-ip-del-pc-A
Donde el nombre lo sustituimos por el nombre de nuestro usuario en el pc al que vamos a acceder, y la ip, pues su ip actual; nos pedira su contraseña y ya estaremos logueados en A desde B.
Lógicamente, y como he explicado antes, eso esta muy bonito, si, pero yo si tengo un pc en China y el otro en Luxemburgo, tengo ip dinámica en el pc al que quiero acceder, tendría que ir desde Luxemburgo hasta China para mirar a ver que ip tengo en el pc que quiero acceder, de ahí que vayamos a realizar los siguientes pasos para saber en todo momento que ip (o mas bien, que dirección) tiene el pc al que queremos acceder
estos pasos debéis de hacerlos desde el ordenador A:
  1. Entramos en no-ip.com, una web que se encarga de proveernos de una direccion de host para ips-dinamicas y que cuando cambie nuestra ip-dinamica, se relacione con el nombre del host, que es lo que buscamos
  2. Nos saldra una ventanita como esta, pulsamos en learn more
  3. Ahí nos pide nuestro email, y despues nuestros datos, nombre, contraseña,... aceptamos los acuerdos y demás
  4. Después nos envian un email para que aceptemos la cuenta, revisais la bandeja de mails, haceis click donde os digan para que activéis la cuenta
  5. Una vez logueados en la web tendremos una ventana como esta, solo nos quedara añadir el host, por tanto pulsamos add host
  6. Metéis el nombre del host que os de la gana y le dais a crearlo
Con eso sera suficiente.
Ahora volvemos a nuestro pc A, e instalamos el paquete de no-ip para que no-ip sepa en todo momento que ip tiene nuestro pc y así siempre podamos acceder con nuestro nombre de host que acabamos de crear
#aptitude install noip2
Nos hará varias preguntas, como nuestro email de no-ip, contraseña y nombre del host; los demas no hace falta ni que los rellenéis.
Con esto tendremos mas que suficiente.
Solo nos queda volver al pc B, ver que podemos entrar asi:
#ssh nombre-de-usuario@nombre-de-host-de-no-ip

La cosa de esto, es que podréis acceder con cualquier usuario vía ssh del que sepáis la contraseña, pero si solo lo queréis de unos pocos, tenéis que editar el siguiente archivo:
#nano /etc/ssh/sshd_config
y añadir esto al final:
AllowUsers usuario1 usuario2 usuarioX
Estos serán los usuarios que tendrán permiso para acceder vía ssh desde otro pc, el resto no.

Si nos funciona, ya tendremos acceso al sistema A vía ssh (shell segura); pero yo ademas quiero usar sus archivos como si de una partición de mi pc B se tratara, así que a continuación explico los pasos a seguir.

Instalamos en B el siguiente paquete:
#aptitude install sshfs
Damos permisos del grupo fuse a nuestro usuario (en pc B)
#usermod -G fuse -a nombre-de-usuario
Salimos (logout) y volvemos a entrar en la sesión(login), probamos que funcione bien el modulo
#modprobe fuse
Ya solo nos queda montar el directorio que queramos del pc A en B
$sshfs nombre-de-usuario@nombre-de-host-de-no-ip:/ruta/completa/del/directorio/en/A /direccion/de/B
ejemplo:
$sshfs pepe@pepe.no-ip.biz:/home/pepe /mnt/
Con esto estamos montando la carpeta home de pepe del pc A en /mnt del pc B, y podremos acceder, modificar, etc. como si estuviéramos en el pc A logueados como pepe.
Ya podréis trabajar con esos archivos, como si los tuvierais en local, copiar, pegar y demás, aunque recordad que para todo esto se usa la red, por tanto la velocidad no sera la misma que si fuera local de verdad.

Por ultimo, acordaos de desmontar la "partición":
$fusermount -u /direccion/de/B

Espero que os sea de utilidad.

No hay comentarios:

Publicar un comentario