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