Gentoo Forums
Gentoo Forums
Gentoo Forums
Quick Search: in
[OFF TOPIC - Control Remoto] ¿Algo como LogmeIn para Linux?
View unanswered posts
View posts from last 24 hours

 
Reply to topic    Gentoo Forums Forum Index Spanish
View previous topic :: View next topic  
Author Message
Theasker
l33t
l33t


Joined: 18 Nov 2006
Posts: 656
Location: Zaragoza (Spain)

PostPosted: Tue Aug 12, 2008 9:03 am    Post subject: [OFF TOPIC - Control Remoto] ¿Algo como LogmeIn para Linux? Reply with quote

Hasta hace un tiempo en el trabajo me conectaba por ssh y nxserver a mi casita para poder hacer cosillas y administrar el ordenador tranquilamente en mis ratos libres, pero hace como 5 meses pusieron un router cisco, para darnos acceso a internet a través de una vpn desde Madrid, por supuesto a través de un firewall, y a partir de entonces se acabó la conexión ssh, ftp, etc, no puedo ni hacer un simple ping a mi servidor, aunque si que puedo acceder al apache por el puerto 80, y ... si he probado a poner el ssh por el puerto 80, pero nada. Además tambíen la navegación la hacía a través del proxy (squid) que tenía instalado en casa, cosa q ahora no puedo, por lo que toda mi navegación queda expuesta a las miradas indiscretas.

He tenido q instalar windows de nuevo para tener un acceso más privado a través de LogmeIn y estoy intentando instalar colinux con gentoo sobre windows, aunque sería mucho mejor poder acceder a mi amada gentoo como antes, pero he probado haciendo tunneling por ssh pero na de na, no funciona, además de que no se muy bien lo que hago y si lo he hecho bien.

¿Alguien sabe si hay algún servicio del estilo a LogmeIn que funcione en Linux? y ya de paso, alguna solución para saltarme el firewall :), que eso creo q es más dificil.

Ah, hay que decir, que uno de los cambios fue quitarme los permisos de administrador que tenía en mi máquina del trabajo (windows xp sp2), por lo que se "acabó" lo de instalar programas y escribir en el disco de sistema.

Gracias anticipadas a todos por la ayuda.
_________________
"Oigo y olvido. Veo y recuerdo. Hago y comprendo"
Back to top
View user's profile Send private message
AnimAlf
Apprentice
Apprentice


Joined: 20 Jun 2008
Posts: 229
Location: tgn

PostPosted: Tue Aug 12, 2008 10:10 am    Post subject: Reply with quote

Hola

quizás te sirva un poco esto, si puedes acceder a tu puerto 80 del apache.

se trata de aprovechar las ordenes que conoces de shell para reflejarlas mediante la web

te lo muestro, luego intentaré mejorarlo, lo tengo a medio nacer X'D

Es un script que quiere enseñar como realizar por ejemplo, la administración remota de aquellos que podemos controlar directamente desde la consola y con salidas de caractes para trabajar con ellas a traves del web

El script funciona igual desde consola que desde una llamada CGI y es un poco travieso con el PATH_INFO (el directorio suele ser /usr/lib/cgi-bin)

/var/www/cgi-bin/gcgil:
#!/bin/bash

# Asigna a la siguiente variable el nombre que quieras.
# Será el directorio del script.
SCRIPTDIR="script.cgi"

# directorio y nombre del archivo de configuración
gcgil="$(basename $0)cgi"
cfArch="$gcgil/ligcg.cf"

# Lejos de ir dirigido a un administrador ...
#
if [[ ${EUID} == 0 ]]; then
  echo "No debe utilizar al Administrador!!"; echo
  exit
fi

# Funciones
####################

# userStdOut
#
# Sin parametros. Sólo diferenciamos dos usuarios,
# de shell de webserver
#
# Si es de shell averiguar si tiene dialog
#
# Termina si es una llamada equivocada desde el navegador.

function userStdOut {
  if [ "NOCGI$GATEWAY_INTERFACE" = "NOCGI" ]; then
    # TODO: Diferenciar usuario www-data
    # Si fuese el usuario www-data usuario sera=3 (para depurar).
    # en principio sólo se me ocurre tras grabar su nombre.
    # 1 www-data   2 consola
    which $Dialog >/dev/null 2>&1
    if [ $? -ne 0 ]; then
      # Salida normal de caracteres por consola
      SCRIPTUID=2
    else
      # Lo Idenficaremos como Dialog
      SCRIPTUID=4
    fi
  else
    if [ "/$SCRIPTDIR" != "$PATH_INFO" ]; then
      set -f
      echo 'Content-type: text/plain;charset="UTF-8";'; echo
      if [ "NOWD$PATH_INFO" = "NOWD" ]; then
        echo "Corrige la URL: http://$SERVER_NAME$SCRIPT_NAME/$SCRIPTDIR"   
      else
        echo "Esto ... sólo $cfArch tiene autoridad para realizar esta accion :))"
      fi
      exit
    else
      SCRIPTUID=1
    fi
  fi
}


# Si el archivo cgibin/bincgi no existe, creará la función que sustituirá
# temporalmente aquella que allí epera encontrar.
#

if [ -f $cfArch ]; then
  source $cfArch
else
  function arranca {
    case $SCRIPTUID in
      1) echo 'Content-type: text/plain;charset="UTF-8";'; echo
      ;; # Se trata del servidr web. Necesita una saber que vamos a hacer.;
      2) cat <<_eOf_
$USER, sea vuestra merced bienvenida estas tierras.

Este script está pensado para despertar tus conocimientos sobre este tu sistema:

[ $(LANG=es_ES date -d now +'%H:%M %A, %d de %B del %Y') $(whoami)@$(uname -nom)]

ha sido divertido adquirir nuevos conocimiento y deseo compartirlo.

Este script también puede funcionar como cgi, pruebalo si quieres ver a donde
estas líneas quieren llevarte ... $USER ;-)
_eOf_
    echo
      ;; # Este escrip se va a centrar en ello :))
      3) ;; # TODO Devolver null si se trata de www-data
    esac
    echo "^_^ $(whoami) ^_^, no tienes el archivo: \"$cfArch\" "
    echo "Tiene que acompañar al mensaje para que exista"
    echo "como futuro $(pwd)$cfArch"; echo
    if [ -d $gcgil ]; then
      echo "El directorio ya existe :))"; echo
      echo 'Este sistema intenta ser una guia didactica :))'; echo
      echo "$1"
    else
      echo "@_@   Necesitarás el directorio $(dirname $0)/$gcgil   @_@"; echo
      # TODO "Realizarlo interactivamente.
    fi
    echo "$(basename $0) para $(whoami): ByE"
  }
fi

userStdOut
arranca "... ahora el archivo \"$(pwd)$cfArch \" ... "

exit


esto como motor, digamos, paral luego a partir de un archivo de configurarión mostrar aquello que quieras realizar :)

voy a mirar de prepararte por ejemplo una shell con opción de kill 15 y 9 por si acaso, el archivo de configurarión que tengo ahora, está verde X'D

/var/www/cgi-bin/gcgilcgi/ligcg.cf:

function arranca { 
# arranca
#
# es el motor del script
  iniciar
  presentacion
  finalizar
  exit
}

# Este archivo es complementario del script principal.
# Si el spript principal no es operativo.
# ----------------------------------------------------

# Inicializa el sistema de salida asignado
#
function iniciar {
  case $SCRIPTUID in
    1) flujoHtmlInit
       htmlInit "gcgil Gentoo cgi Linux"
    ;;
    2) echo '[TODO:] Colores'
    # TODO iniciar dialog con opción cierre si existe.
    ;;
    4) $Dialog
       # jeje si arranco dialog, también tengo que cerrarlo
       #
    ;;
    #  $Dialog --title 'Demo by AnimAlf' --no-collapse --msgbox \
    #  "Desmostración del uso de dialog y Xdialog" 0 0
  esac
}

# Finalización de la salidas de caracteres.
#
function finalizar {
  case $SCRIPTUID in
    1) # El cierre por navegador
    ;;
    2) # El cierre por consola
    ;;
    4) # El cierre por dialog
    ;;
  esac
}

# flujoHtmlInit
#
# Inicia la salida de caracteres por el navegador.

function flujoHtmlInit {
  echo 'Content-type: text/html;charset="UTF-8";'; echo
  cat <<_eOf_
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//ES">
<html>
<head>
_eOf_
}


# htmlInit title
#
# Inicia la secuencia de caracteres que van a ser visibles desde el navegador

function htmlInit {
  echo "<title>$1</title></head><body>"
}


# iniciaFlujo cabecera saludo neutral
#
# se lanza una cabecera estandar para las diferentes salidas

function iniciaFlujo {
  case $SCRIPTUID in
    1) echo "<h2>$1</h2>"
       echo "<p><strong><i>$3</i></strong></p>"
       echo '<p id="flujo">'
    ;;
    2) echo "$1"
       echo "$2"
    ;;
  esac
}

###############################################
# definiciones de cadenas

# presentacion
#
function presentacion {
  iniciaFlujo "automatizar nuestros scripts con cgi" "Hola SUSER:" "Hola amigos,"
  if [ $SCRIPTUID == 1 ]; then
#    cat <<_eOf_  | sed -r "s/<\/?p>//g"
#  else
    TAGPI='<p>'
    TAGPE='</p>'
  fi
  cat <<_eOf_
${TAGPI}He pensado en escribir cuatro líneas sobre cgi (Common Gateway Interface o
interfaz de entrada común) y en cómo aprovechar nuestro ingenio para utilizarlo
con todos nuestros conocimientos sobre los comandos del sistema.$TAGPE

${TAGPI}No se que me ha pasado que en un momento practicando por aquí, me he visto
en una spiral de querer hacer cosas y he necesitado iniciarlo esto que estás
leyendo :))$TAGPE

${TAGPI}Tengo el propósito de actualizar este archivo, así que, espero que pases un buen
rato con ello, las críticas siempre suelen ser constructivas, para atraer así
una nueva revisión ;-)$TAGPE

${TAGPI}Ha nacido de un mensaje que iba a enviar al foro. Pretende enseñar el modo de
mejorar nuestro conocimiento.$TAGPE
_eOf_
  if [ $SCRIPTUID == 1 ]; then
    echo "  <form method="get" action=\"$SCRIPT_NAME/$SCRIPTDIR\">"
    echo '    <input name="url" type="hidden" value="inicio">'
    echo '    <input type="submit" value="continuar >>>">'
    echo '  </form>'
    echo "</body></html>"
  elif  [ $SCRIPTUID == 2 ]; then
    select respuesta in "Continuar" "Salir"
    do
      echo seleccionaste: $respuesta
      case $REPLY in
        1) echo "opción 1"
           break
        ;;
        2)  echo "opción 2"
            break
        ;;
      esac
    done 
  fi
}


puede servirte para el puerto 80 ...

saludos
_________________
En busca del TuXeR perdido
Back to top
View user's profile Send private message
opotonil
l33t
l33t


Joined: 17 Jun 2005
Posts: 801
Location: 127.0.0.1

PostPosted: Tue Aug 12, 2008 11:58 am    Post subject: Reply with quote

Imagino que aparte de puerto 80 te hayan dejado tambien abierto el 443, si es asi prueba a poner tu ssh a escuchar en este puerto ya que si al analizar el trafico encuentra conexiones codificadas por el puerto 80 le puede parecer raro pero en cambio si las encuantra en el 443 seguramente le parezca normal al esperar ssl.

Salu2.
Back to top
View user's profile Send private message
Theasker
l33t
l33t


Joined: 18 Nov 2006
Posts: 656
Location: Zaragoza (Spain)

PostPosted: Tue Aug 12, 2008 12:00 pm    Post subject: Reply with quote

también está probado, imagino que lo habrán cortado por protocolo.
_________________
"Oigo y olvido. Veo y recuerdo. Hago y comprendo"
Back to top
View user's profile Send private message
Inodoro_Pereyra
Advocate
Advocate


Joined: 03 Nov 2006
Posts: 2631
Location: En la otra punta del cable

PostPosted: Tue Aug 12, 2008 6:00 pm    Post subject: Reply with quote

Perdón pero si en windows te funciona hamachi (implica que tu router deja pasar el tráfico que hamachi genera), por que en linux no? Yo lo uso todo el tiempo sin inconvenientes...

Hasta está en portage:
Code:
 ~ $ eix hamachi
[I] net-misc/ghamachi
     Available versions:  (~)0.8.1!m
     Installed versions:  0.8.1!m(00:07:34 07/30/08)
     Homepage:            http://www.penguinbyte.com/software/ghamachi/
     Description:         gHamachi is a GUI for the Hamachi tunneling software package.

[I] net-misc/hamachi
     Available versions:  (~)0.9.9.9_p20-r2!m {pentium}
     Installed versions:  0.9.9.9_p20-r2!m(23:58:47 07/29/08)(-pentium)
     Homepage:            http://hamachi.cc
     Description:         Hamachi is a secure mediated peer to peer.

Found 2 matches.


Salud!
_________________
Mi Blog.

Si no fuera por C, estaríamos escribiendo programas en BASI, PASAL y OBOL.
Back to top
View user's profile Send private message
AnimAlf
Apprentice
Apprentice


Joined: 20 Jun 2008
Posts: 229
Location: tgn

PostPosted: Sun Aug 17, 2008 10:47 am    Post subject: Reply with quote

AnimAlf wrote:
voy a mirar de prepararte por ejemplo una shell con opción de kill 15 y 9 por si acaso, el archivo de configurarión que tengo ahora, está verde


he escrito cuatro líneas, sigue estando un poco raro, pero en pocas lineas no muestra que podemos utilizar todas las ordenes que conocemos para aplicarlas. Sólo lanza las ordenes y muestra el resultado ...

No tiene kill (no controla el proceso que lances), tampoco filtra nada, la orden no debe de ser interactiva, sólo debe mostrar resultados p.e. cat bzcat df ls ...

Es para ver que podemos aprovechar nuestros conocimientos sobre ordenes de shell y los podemos agrupar gracias al servidor web.

/var/www/cgi-bin/gcgilcgi/ligcg.cf:
# Este archivo es complementario del script principal.
# Sin el spript principal no es operativo.
# ----------------------------------------------------

# arranca
#
# es el motor del script

function arranca { 
  set -f
  if [ "GET${CONTENT_TYPE}${QUERY_STRING}POST" != "GETPOST" ]
  then
    CGI_GETPOST=1
    if [ "$REQUEST_METHOD" == "POST" ];then
      #CGI_QUERY="$(cat $QUERY_STRING)"
      CGI_QUERY=$( head --bytes="$CONTENT_LENGTH" )
    else
      CGI_QUERY=$QUERY_STRING
    fi
  else
    CGI_GETPOST=0
  fi
  iniciar
  tema
  finalizar
}

# flujoHtmlInit
#
# Inicia la salida de caracteres por el navegador.

function flujoHtmlInit {
  echo '404: okay'
  echo 'Content-type: text/html;charset="UTF-8";'; echo
  cat <<_eOf_
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//ES">
<html>
<head>
_eOf_
}

# leeVariable variable
#
# Lee el valor de una variable del CGI_QUERY.

function leeVariable {
  echo "$CGI_QUERY" | tr '&' '\n' | grep "^$1=" | head -1 | sed "s/.*=//" |  sed "s/+/ /g" \
    | sed "s/%2F/\//g" | sed "s/%7C/\|/g" | sed "s/%27/\'/g" | sed "s/%22/\"/g"
  # sed "s/%20/ /g"  <- para get
}


# htmlHead style
#
# Lanza datos de la cabecera css, js ...

function htmlHead {
  echo "<!-- HEAD TODO -->"
  cat <<_eOf_
  <style type="text/css">
    #contenido { position: static; height: 100%; padding-top: 1px;}
    #arriba { border-style: outset; border-width: 1px; position: relative;}
    #izquierda { border-style: dotted; border-width: 1px; float: left; position: relative; left: 25px; top: 75px;}
    #flujo { border-style: dashed; border-width: 1px; position: relative; min-width: 75%; max-width: 75%;
             float: right; top: 39px; right: 57px; bottom: 100px; padding-bottom: 39px;}
    #StdOut { border-style: none; border-width: 0px; position: relative; float: left; clear: none;
              width: 94%; left: 3%; opacity: 0.998; background-color: #336666; color: #cccccc; min-width: 94%;}
    #prompt { border-style: none; left: 3%; background-color: #336666; color: #cccccc; top: -1px; position: relative;
              float: left; width: 69%; height: 26px;}
    #bajos { border: 1px solid #ffff33; position: relative; width: 80%; float: right; clear: both; margin-right: 10%; top: 70px;}
    h2.flujo {}
    textarea.flujo {}
    texarea.FondoShell input.FondoShell { background-color: #336666;}
    #marcoShell {}
    #lpromt { float: left; position: relative; left: 3%; top: -1px; width: 25%; background-color: #336666;
              height: 28px; text-align: right; font-weight: bold; line-height: 2.1em; color: #ffcc00;}
  </style>
_eOf_
}


# htmlInit title
#
# Inicia la secuencia de caracteres que van a ser visibles desde el navegador

function htmlInit {
  echo "<title>$1</title></head><body>"
}


# Inicializa el sistema de salida asignado
#
function iniciar {
  case $SCRIPTUID in
    1) flujoHtmlInit
       htmlHead
       htmlInit "gcgil Gentoo cgi Linux"
       if [ "$CGI_GETPOST" == "1" ]; then
         # echo "<h1>OPPS CON OPCIONES</h1>"
         if [ "$REQUEST_METHOD" == "GET" ];then
           echo "<h2>^·_·^ No se aceptan llamadas GET ^·_·^</h2>"
           finalizar
         fi
         # continuar aquí con las opciones POST
         #echo "orden: $(get_parameter prompt)"
         RESULTADO="$($(leeVariable prompt))"
       fi
    ;;
    2) echo '[TODO:] Colores'
       echo 'Sólo funciona por el navegador.'; echo
       exit
    # TODO iniciar dialog con opción cierre si existe.
    ;;
    4) $Dialog
       # jeje si arranco dialog, también tengo que cerrarlo
       #
    ;;
    #  $Dialog --title 'Demo by AnimAlf' --no-collapse --msgbox \
    #  "Desmostración del uso de dialog y Xdialog" 0 0
  esac
}

# Finalización de la salidas de caracteres.
#
function finalizar {
  case $SCRIPTUID in
    1) # El cierre por navegador
       echo "</body></html>"
    ;;
    2) # El cierre por consola
    ;;
    4) # El cierre por dialog
    ;;
  esac
  exit
}

###############################################
# definiciones de cadenas

# tema
#
function tema {
  inicio "Iniciando la plantilla"
  cat <<_eOf_
 
  <div id="izquierda">$(uname -r)<!--
    <form name="form-menu">enviar señal:<br>
      <input class="radio" name="opcion" value="15" type="radio">TERM<br>
      <input class="radio" name="opcion" value="9" type="radio">KILL<br>
      <a id="BottonToLink">go go go</a>
    </form>-->
  </div>
 
  <div id="flujo" contenido="">flujo de salida de datos
    <form name="formCont" method="post">
      <textarea class="FondoShell" id="StdOut" name="salida" rows="30" cols="1" readonly>${RESULTADO}</textarea>
        <div id="lpromt" name="lpromt">$(whoami)@$(uname -n) #
        </div><input type="text" class="FondoShell" id="prompt" name="prompt" value=' ~ $ ' onclick="document.forms.formCont.prompt.value= ''">
    </form>
  </div>
 
  <div id="bajos">
    <div align="center" style="font-size: small;">$(LANG=es_ES date -d now +'%H:%M %A, %d de %B del %Y') $(whoami)@$(uname -nom)
    <i><br><span style="color: red;"><strong style="color: red;">$SERVER_SIGNATURE</strong></span></br></i></div>
  </div>
  <br>
</div>
_eOf_

}


Saludos
_________________
En busca del TuXeR perdido
Back to top
View user's profile Send private message
7th_sign
Apprentice
Apprentice


Joined: 18 Jan 2004
Posts: 176

PostPosted: Tue Aug 26, 2008 4:56 pm    Post subject: Reply with quote

Has probado lo del tunel ssh reverso, te dejo una liga donde puedes econtrar un ejemplo práctico.

http://alfredo.soy-geek.com/index.php?gadget=blog&action=ShowCategory&id=3

saludos y espero que te sirva
_________________
Yo soy de los que aprovechan la firma para poner la URL de su página :)
7th Sign | http://ivan.rico.org.mx
Back to top
View user's profile Send private message
Display posts from previous:   
Reply to topic    Gentoo Forums Forum Index Spanish All times are GMT
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum