Too Cool for Internet Explorer

Instalar servidor SSH en Icy Box NAS-4220-B 7

Hora y Fecha: Junio 30, 2008 @ 12:34 am Autor: Moisés Maciá
Categorías:
56 views

Este es el primer post sobre hacks del Raidsonic Icy Box NAS-4220-B y en él voy a explicar cómo instalar un servidor SSH para conectarnos de forma segura a través de Internet o de una red inalambrica.

El primer paso es actualizar el firmware del aparato a la última versión disponible (en este momento es la 2.6.0.IB.1.RS.1). Esta actualización incluye acceso remoto mediante telnet que aprovecharemos para modificar ciertos parámetros del sistema.

El servidor SSH es un paquete oficial disponible en la pagina web del fabricante. Para instalarlo hay que conectarse al NAS mediante FTP/SMB/NFS con el usuario admin y dejar el archivo ssh-server.tgz en la ruta /public/applications/new_software.

Después de esto, reiniciamos la máquina y ella sola instala el software en los directorios correspondientes. Esta manera de instalar cosas me ha gustado mucho.

Ahora viene el problema: por lo visto alguien en Raidsonic con una mente preclara ha hardcodeado los paths de los binarios a /mnt/IDE1. Este es el punto de montaje de los discos, pero cambia en función de la cantidad y la configuración de los discos que tengas puestos (RAID0, RAID1, JBOD, etc.).

En mi caso el punto de montaje es /mnt/ide3 (en minúscula), con lo que el servidor SSH se instala pero nunca llega a ejecutarse porque no encuentra sus librerías ni sus archivos de configuración.

A mi todo esto me huele un poco mal. Vale que Raidsonic no es una multinacional del software, pero este es un error de bulto que está en la web desde hace tiempo en un paquete “oficial”. Me parece trabajo de becarios mal pagados, porque eso de poner las rutas en mayúsculas y hardcodeadas muy profesional no suena. Pero bueno, hay una solución sencilla.

Podemos hacer un enlace simbólico que apunte al punto de montaje correcto y todo funcionará como se espera. Para esto necesitamos una shell del sistema mediante telnet.

El acceso a traves de telnet no está habilitado por defecto, para activarlo hay que ir a la siguiente URL http://[ip del nas]/cgi/telnet/telnet.cgi y marcar el checkbox (curiosamente el acceso a telnet no sale en el interfaz web, está escondido).

Nos logeamos como root con la contraseña del usuario admin y ya tenemos shell.

En mi caso el enlace simbólico quedaría de la siguiente manera:

  1. ln -s /mnt/ide3/ /mnt/IDE1

Para comprobar que el servicio se inicia correctamente, vamos al directorio de la aplicación y ejecutamos el script de inicio:

  1. cd /mnt/ide3/public/applications/ssh-server/
  2. sh init

Finalmente, activamos el servidor SSH desde el interfaz web y probamos la conexión.

Debido a la combinación de memoria flash + partición en disco que utiliza el NAS para ejecutar el sistema, este enlace simbólico se pierde cada vez que reiniciamos la máquina.

Esto se soluciona instalando el paquete userscript (descarga) que permite ejecutar scripts personalizados durante el arranque del sistema, una especie de cron para que nos entendamos.

El comando para lanzar el servidor es el siguiente:

  1. mnt/IDE1/public/applications/ssh-server/bin/dropbear -d /mnt/IDE1/applications



Bad Behavior has blocked 450 access attempts in the last 7 days.