SSH es una conexión similar a Telnet pero con encriptación SSL para añadirle seguridad a la comunicación. En el caso de nuestro CUBO, la cuenta de root viene sin contraseña, por lo que abrir el puerto 23 del router para poder hacer telnet desde fuera es una locura, ya que cualquiera que tratase de conectarse podría hacerlo de forma trivial y hacer lo que quisiese con vuestra maquinita. Aunque le habilitásemos la contraseña, telnet no tiene ningún tipo de seguridad, y un usuario malintencionado podría capturar vuestra constraseña con facilidad. Por otra parte, los usuarios que tengáis el chroot de Debian para diversas aplicaciones (Transmission, vsftpd, etc), al entrar por telnet os toca hacer el chroot para poder acceder a la imagen Debian, mientras que mediante SSH os conectaríais directamente a la imagen Debian sin necesidad de trámites previos.

Funciona en los Blusens T50 y en los EMTEC Q800, aunque es muy probable que funcione también en cualquiera de los muchísimos clones del mismo aparato (Ellion, Woxter, BestBuy, O2, etc). Lo bueno es que no hay ninguna posibilidad de cargarse nada pues no toca en absoluto el firmware del aparato. Con apagar, encender y borrar los ficheros de la partición principal se deja el CUBO como estaba.


Instalación del chroot en Debian

Suponiendo que no lo tengáis ya instalado, seguid el siguiente post:

http://www.mundodvd.com/showthread.p...24#post1485724

Ni que decir tiene que si ya tenéis instalado el Debian por algún otro motivo, no es necesario reinstalarlo.


Configuración de OpenSSH

OpenSSH ya viene instalado en la imagen Debian, por lo que no es necesaria su reinstalación; tan solo hay que configurarlo adecuadamente.

1.- Contraseña para root

Vamos a establecer una contraseña para el usuario root dentro de la imagen Debian. A pesar de esto, los accesos por telnet al CUBO seguirán siendo sin contraseña, por lo que no modifica nada de nuestro CUBO, solo la imagen Debian.

Montamos el chroot (el símbolo de comando sera sh-3.1#) y ejecutamos:

passwd root
Nos pedirá que escribamos la nueva contraseña y que la confirmemos. Aunque no aparezcan caracteres al escribir no os preocupéis.

2.- Modificar directorio de comienzo

Vamos a hacer que al conectarnos aparezca directamente en el directorio raíz '/' en vez de en el home de root.

Ejecutamos...

vim /etc/passwd
- Para editar el contenido, debéis pulsar la tecla 'i'. Aparecerá en la parte inferior izquierda la palabra 'INSERT' que nos indica que estamos en modo edición.

- Para guardar los cambios, pulsáis ESC para salir del modo edición (desaparecerá la palabra INSERT de la parte inferior izquierda), tecleáis :wq y pulsáis ENTER. Con esto guardaremos los cambios y saldremos. Dará un error de escritura de no se que, pero no le hagáis caso, con dar a ENTER volveréis al símbolo de comando.

Tenemos que editar la primera línea... donde pone '/root' debe poner tan solo '/'.

Las lineas con el carácter # al comienzo se llaman 'lineas comentadas' y no son leídas por aptitude. Debemos cerciorarnos de que las dos últimas están sin comentar (distribución inestable), y que las cuatro primeras si que están comentadas (distribuciones estable y testing).

3.- Generar la clave RSA

Por defecto la imagen de Debian trae una clave generada, pero para evitar problemas vamos a volver a generarla.

Ejecutamos...

ssh-keygen
Cuando nos diga...

Enter file in which to save the key (/root/.ssh/id_rsa):
... le damos a ENTER. Cuando nos diga...

Enter passphrase (empty for no passphrase):
... le damos a ENTER para omitir el uso de frase de paso. Acto seguido hay que volver a darle a ENTER porque nos pide la frase de nuevo.

4.- Editar el fichero de configuración

Ejecutad...

vim /etc/ssh/sshd_config
y buscáis la siguientes líneas...

# HostKeys for protocol version 2
HostKey /etc/ssh/ssh_host_rsa_key
HostKey /etc/ssh/ssh_host_dsa_key
... y las dejáis así...

# HostKeys for protocol version 2
#HostKey /etc/ssh/ssh_host_rsa_key
#HostKey /etc/ssh/ssh_host_dsa_key
HostKey /root/.ssh/id_rsa
La forma de utilizar el editor ya os la he explicado más arriba.

5.- Ejecutar el demonio sshd

Para arrancar y detener el demonio de forma sencilla he generado unos script que os podéis bajar de aquí:

http://rapidshare.com/files/275057055/SSH.rar

Tenéis que editar los ficheros .txt y colocar la dirección IP de vuestro CUBO en la primera línea.

Para montar la imagen Debian, ejecutad 'debian.bat', y para desmontarla 'undebian.bat'. Si por ejemplo tenéis funcionando Transmission o vsftpd, no es necesario montar Debian porque ya está montado, por lo que solo tendréis que arrancar el demonio. Para arrancar el demonio SSH ejecutad 'ssh_on.bat' y para detenerlo 'ssh_off.bat'.

Por si los ficheros no os funcionan, o simplemente habéis utilizado carpetas diferentes, os adjunto las órdenes para arrancar y parar sshd (desde el chroot, sh-3.1#).

Para arrancarlo:
/etc/init.d/ssh start
Para detenerlo:
/etc/init.d/ssh stop

Apertura de puertos del router

Es probable que tengáis intención de acceder a vuestra máquina desde fuera de vuestra red local. Lo lógico es que tengáis conectado vuestro CUBO a internet a través de un router. En ese caso, hay que mapear ciertos puertos en el router hacia vuestro CUBO para que podáis conectaros al servidor ssh.

Para empezar recomiendo encarecidamente que vuestro CUBO tenga una IP fija, ya que si es automática asignada por DHCP en muchos casos vuestro router no os permitirá abrir los puertos hacia esa dirección.

Una vez nuestro CUBO tiene IP Fija, tenemos que abrir el puerto 22 para TCP.

La forma de abrir los puertos de vuestro router especifico no es el tema de discusión y os agradecería que no contestéis al post con preguntas relativas a ese tema. Si necesitáis ayuda para abrir puertos, mirad en http://www.adslzone.net/.


Instalación del cliente SSH: Putty

Os recomiendo que os bajéis Putty, ya que se trata de una aplicación de software libre que funciona estupendamente, y además, os explico como configurarlo. No solo servirá para conexiones SSH, sino también como sustituto del Telnet.

La página de PuTTy es esta...

http://www.chiark.greenend.org.uk/~sgtatham/putty/

... y os podéis bajar directamente la aplicación para windows desde aquí...

http://the.earth.li/~sgtatham/putty/.../x86/putty.exe

Los usuarios de linux también podréis bajaros la aplicación para instalar, pero es muy probable que en vuestro Linux ya dispongáis de algún cliente SSH.

Una vez descargado, no hace falta instalarlo, basta con ejecutarlo.

En 'Host Name (or IP address)' tenéis que poner la IP de vuestro CUBO. Si os conectáis desde dentro de vuestra red local, pues la IP del CUBO. Si os conectáis desde fuera de vuestra red local, tenéis que poner la IP pública de vuestro router. Si vuestra IP pública es fija, estupendo, pero si es dinámica, de vez en cuando os tocará cambiarla. Para evitar esto, podéis crearos una DNS dinámica para que sea más sencillo conectaros a vuestro servidor ftp, o vuestro transmission, etc. Para más información al respecto, he creado un post donde explico como crearos una en www.dyndns.com y como instalar ddclient, una pequeña aplicación que autoactualice la IP en vuestra DNS. http://www.mundodvd.com/showthread.p...67#post1540467.

Comprobáis que esté seleccionado 'SSH', y si queréis podéis guardar esta configuración para poder utilizarla en el futuro sin reescribir el nombre del host o la dirección IP. Para ello ponéis cualquier cosa en 'Saved Sessions' y pulsáis el botón 'Save'.

Por último, le dais al botón 'Open' para comenzar la conexión.

La primera vez que os conectéis por SSH, os saldrá una ventana de aviso que dice 'WARNING - POTENTIAL SECURITY BREACH!', avisando de que el certificado que se está utilizando no es conocido por PuTTy (lo normal, es la primera vez). Pulsáis en 'Si' y se conectará sin problemas.

Una vez en el terminal remoto, ponéis como usuario 'root' y la contraseña que habéis establecido antes.

Ya estáis dentro de vuestro Debian.


Conclusiones

El uso de SSH es más seguro que telnet, y os permitirá controlar la máquina desde fuera de la red local con garantías. Además, PuTTy es una aplicación curiosa que os permitira tener todas las conexiones que realicéis habitualmente guardadas para evitar tener que teclear continuamente lo mismo.

Un saludo!