View previous topic :: View next topic |
Author |
Message |
Theasker l33t
Joined: 18 Nov 2006 Posts: 656 Location: Zaragoza (Spain)
|
Posted: Tue Aug 12, 2008 9:03 am Post subject: [OFF TOPIC - Control Remoto] ¿Algo como LogmeIn para Linux? |
|
|
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 |
|
|
AnimAlf Apprentice
Joined: 20 Jun 2008 Posts: 229 Location: tgn
|
Posted: Tue Aug 12, 2008 10:10 am Post subject: |
|
|
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 |
|
|
opotonil l33t
Joined: 17 Jun 2005 Posts: 801 Location: 127.0.0.1
|
Posted: Tue Aug 12, 2008 11:58 am Post subject: |
|
|
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 |
|
|
Theasker l33t
Joined: 18 Nov 2006 Posts: 656 Location: Zaragoza (Spain)
|
Posted: Tue Aug 12, 2008 12:00 pm Post subject: |
|
|
también está probado, imagino que lo habrán cortado por protocolo. _________________ "Oigo y olvido. Veo y recuerdo. Hago y comprendo" |
|
Back to top |
|
|
Inodoro_Pereyra Advocate
Joined: 03 Nov 2006 Posts: 2631 Location: En la otra punta del cable
|
Posted: Tue Aug 12, 2008 6:00 pm Post subject: |
|
|
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 |
|
|
AnimAlf Apprentice
Joined: 20 Jun 2008 Posts: 229 Location: tgn
|
Posted: Sun Aug 17, 2008 10:47 am Post subject: |
|
|
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 |
|
|
7th_sign Apprentice
Joined: 18 Jan 2004 Posts: 176
|
|
Back to top |
|
|
|
|
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
|
|