martes, 25 de agosto de 2009

Usar ssh para otros servicios

Usando un túnel ssh puedes proteger servicios que no están normalmente protegidos y/o encriptados contra acceso no autorizado. En este ejemplo se muestra como configurar una conexión segura al proxy IRC, pero puedes usar el mismo ejemplo para otras cosas:

Ejecutar el siguiente script desde el archivo .xinitrc, el cual hace lo siguiente:

  • Usando fping revisa si puede alcanzar el host dircproxy
  • Llama a autossh para ejecutar una sesión ssh persistente
  • Crea logs de los mensajes adecuados al syslog usando logger
  • Muestra el PID de autossh, el cual puede ser usado para esperar
#!/bin/sh
#
# Empieza una conexion ssh con dIRCoroxy en el puerto 57000.
#

PROG=`basename $0`

if [ `which fping|wc -l` -eq 0 ]; then
logger -p user.info $PROG: missing fping
exit 0
fi
if [ `which autossh|wc -l` -eq 0 ]; then
logger -p user.info $PROG: missing autossh
exit 1
fi

fping myost -q
if [ $? -eq 0 ]; then
autossh -X -N -L 57000:localhost:57000 frankie@myhost /dev/null >&1 &
PID=$!
logger -p user.info $PROG: dircproxy tunnel started as $PID
echo $PID
else
logger -p user.info $PROG: klecker not reachable
fi

Quizás no estés familiarizado con fping o autossh. Fping es parecido a ping pero con algunas características ademas de ser mas cómodo de usar en scripts. Autossh es un derivado de ssh que es usado para comenzar y monitorear una copia de ssh.

No hay comentarios: