martes, 8 de febrero de 2011

Shellinabox. SSH via web

Introducción

A quien no le ha pasado el necesitar en un momento dado acceder por ssh a su servidor pero el puerto 22 esta cerrado...esta es la solución, ShellinaBox es una herramienta que sirve para poder acceder via web a la consola del equipo que lo ejecuta. También con la configuración adecuada puedes hacer que el equipo que ejecuta la herramienta sirva de pasarela ssh para otras máquinas.
http://code.google.com/p/shellinabox/

Instalación
La instalación es muy sencilla.
# wget http://code.google.com/p/shellinabox/downloads/detail?name=shellinabox-2.10.tar.gz&can=2&q=
# tar zxvf shellinabox-2.10.tar.gz
# cd shellinabox-2.10
# .configure --prefix=/opt/shellinabox
# make && make install

Script de arranque
Este es el script de arranque que levanta el demonio en el puerto 4200 de localhost.
#!/bin/bash
case $1 in
      start)
              echo "Arrancando ShellInABox"
              /opt/shellinabox/bin/shellinaboxd -b -t -s /:LOGIN
      ;;
      stop)
              echo "Parando ShellInABox"
              pkill -f shellinaboxd
      ;;
      *)
              echo "$0 [stop|start]"
      ;;
esac

Apache
Para poder acceder desde fuera hacemos un proxypass desde un virtual que sea accesible desde fuera:
      ProxyRequests Off
     <Proxy *>
             Order deny,allow
             Allow from all
             AuthType Basic
             AuthName "Consola"
             AuthUserFile /opt/apache/conf/console.pwd
             Require valid-user
     </Proxy>
     ProxyPass /console/ http://localhost:4200
     ProxyPassReverse /console/ http://localhost:4200/


Puesta en Marcha
Ya lo tenemos listo, arrancamos shellinabox (/etc/init.d/console start) y reinicaimos apache. Ahora solo queda probar:

No hay comentarios:

Publicar un comentario