Información blog

Linux, tutoriales, noticias, sistemas, redes y seguridad informática, entre otras cosas.

miércoles, 6 de febrero de 2013

Freesshd para Windows sus posibilidades para Linuxeros

Esta vez hablaré sobre una aplicación de Windows que a mí personalmente me resulta muy útil. Aplicación que también puede llegar a interesar a los Linuxeros cómo veréis más adelante. La capacidad de que puedan acceder remotamente a tu equipo por ssh puede llegar a sernos de gran ayuda en momentos dados. En Linux con tan sólo escribir apt-get install openssh-server ya tenemos todo solucionado pero en Windows no tenemos ninguna aplicación instalada por defecto que permita la entrada por ssh. Por ello existe una aplicación que una vez instalada y configurada funciona con la misma eficacia que en Linux: Su nombre es Freesshd. Evidentemente hay más aplicaciones, pero ésta en concreto me parece la más adecuada pues ofrece bastantes opciones de configuración, pudiendo personalizarlo a tu gusto. La instalación es increíblemente sencilla. Con tan sólo ir a la página oficial http://www.freesshd.com/ descargarte la última versión e iniciar su instalación nos basta. Habrá un momento dado en el que nos preguntará si queremos que freesshd actúe cómo un servicio que se iniciará al arrancar Windows… Esto lo dejo a libre elección del usuario, tan sólo tenemos que ver nuestras necesidades aunque para ello habría que tener en cuenta lo siguiente: ¿Va a ser un equipo al que vayan a acceder aún sin estar nosotros presentes? ¿O sólo queremos que entren cuando nosotros queramos? ¿Nos interesa que nos cargue la aplicación siempre que iniciemos Windows, ralentizando el tiempo que tarda en iniciarse el sistema? Yo personalmente lo arranco cuando quiero y listo, pues no siempre me es necesario tenerlo activo además de que me gusta acelerar el arranque de Windows lo más posible. Una vez instalada la aplicación, la iniciamos (a menos que sea un servicio pues en ese caso supuestamente debería arrancar solo) y veremos en la zona inferior derecha del escritorio de Windows un icono cómo este: 

Haciendo click derecho sobre él y pulsando en settings, accederíamos a su configuración, observando que la aplicación puede admitir entradas por ssh y/o Telnet. Posee diferentes pestañas, la mayoría no necesitan ser tocadas pero hay 3 pestañas que si que nos interesan. Dos de ellas son evidentes, son SSH y Telnet, en las cuales podemos configurar las dichas conexiones, desde los puertos hasta la shell de comandos (ésta última es muy interesante ya que permite hacer bastantes cosas). Una vez configurado todo, iríamos a otra pestaña a la que es obligatorio entrar. La pestaña se llama users, donde podemos crear los usuarios que podrán acceder al equipo. A la hora de crear usuarios podemos elegir sus permisos o métodos de autentificación. Los permisos van a gusto del administrador aunque yo veo indispensable que al menos puedan usar la shell; En cambio la autentificación recomiendo por cuestiones de seguridad que sea: “password stored as SHA1 bash”, pues así podemos establecer la contraseña que tendría que introducir dicho usuario para poder entrar. Una vez configurado todo sólo habría que ir a la pestaña Server status e inicializar el servidor deseado. En caso de haber un error que diga algo cómo: “The specified address is alredy in use”; Es porque el puerto del servidor que intentas arrancar ya está en uso, con lo que deberíais dejar libre ese puerto o cambiar el puerto en el que quieres que escuche el servidor. Para ver los puertos abiertos en el sistema ve a inicio->ejecutar y escribe cmd.exe. Hecho eso aparecerá una consola donde habría que escribir netstat –a. En la columna “dirección local”, los números o letras que aparezcan después de los: son los puertos. Una vez todo vaya bien y hayáis arrancado uno de los servidores debería apareceros algo cómo esto:



Ahora con tan sólo intentar entrar por Telnet por el puerto que he abierto, introduciendo el usuario y la contraseña adecuada tendría acceso a Windows sin ningún problema, pudiendo gestionar el equipo a distancia. Lo malo es que para saber moverse bien por el sistema se necesitan sendos conocimientos de la línea de comandos Windows, y a decir verdad hay cosas que no puedes hacer con lo que te ofrece cmd… Es cierto que para lo básico no se tiene problema pero aún así a veces es lioso pues muchas veces, de forma inconsciente tecleas comandos Linux o quieres hacer una cosa que en Linux te resulta fácil y aquí no tanto… Por ello estuve buscando una solución ha dicho problema, solución que al final hallé.

Vayamos paso a paso. Lo primero que necesitamos es tener una aplicación que emule una terminal Linux. Hay varias por Internet, yo en este caso he usado Cygwin, una potente aplicación ampliamente personalizable con una gran variedad de herramientas de Linux. Evidentemente no tiene todo lo que tendría una terminal Linux normal, pero puede cubrir la mayoría de sus funcionalidades. La página oficial de la aplicación es esta: http://www.cygwin.com/. Allí tenéis que bajar el setup.exe, que no es más que un cliente que descargará de sus servidores las herramientas necesarias. Una vez descargado, la instalación de la aplicación es sencilla, sólo tenéis que darle a siguiente hasta llegar al apartado de la instalación de paquetes: por defecto está diseñado para instalarte lo básico, aunque podéis escoger los paquetes que más os interesan para instalarlos, esos paquetes se escogen en esta pantalla:

  
Aquí todo está marcado con default por defecto. Eso significa que sólo te instala lo mínimo para que la terminal funcione, con lo que no os fiéis del default. Si hay algún paquete de la lista que os interese, revisad si lo va a instalar o no, si no pone nada es que no lo instala, con lo que lo tendréis que marcar. Los paquetes que yo personalmente veo indispensables son los de admin, ssh, utilidades de red y editores de texto. Una vez seleccionados los paquetes aceptamos y esperamos a que descargue todo, lo cual tardará un buen rato. Con esto ya tendremos nuestra terminal Linux en Windows.

Es recomendable manejarla un poco para familiarizarse con ella. Al principio se nos hará un poco raro, pues al escribir “cd /” y “ls” no veréis el contenido de Windows, sino el contenido de la carpeta Cygwin, pero tranquilos, es normal. Sólo tenéis que ir a la carpeta cygdrive y ahí veréis los discos duros locales. A partir de allí os podréis mover con libertad por el sistema.

Bueno ya somos capaces de movernos por nuestro equipo con la línea de comandos Linux, ahora tenemos que hacer que aquellos que entren en nuestro equipo directamente puedan apreciar la terminal de Linux y no de Windows. Esto es posible gracias a las opciones que Freesshd ofrece. Accediendo a la pestaña SSH o Telnet, observamos que hay un cuadro de texto que dice “Command Shell” con una ruta hacia la consola cmd.exe. Por desgracia, no admite otra terminal que no sea cmd (He hecho infinidad de pruebas y doy fe de ello), al igual que no admite scripts o programas que ejecuten terminales. Por ello hay que aprovechar esa línea para combinar cmd con cygwin. Finalmente, encontré la solución, sólo tenéis que cambiar el contenido del cuadro de texto de esta manera:

Antes: C:\WINDOWS\system32\cmd.exe
Despues: C:\WINDOWS\system32\cmd.exe , "/k /cygwin/cygwin.bat"

Con este sencillo cambio, la próxima vez que alguien entre por SSH o Telnet (dependiendo de en qué pestaña hayáis hecho la modificación, aunque podéis modificar las dos también) verá una terminal de Linux, pudiendo ejecutar sus comandos.

Espero que os haya gustado, cómo siempre, un placer. 

No hay comentarios :

Publicar un comentario