12 marzo 2009

Tunel SSH Permanentes entre Servidores Linux 

Vuelvo a mis fueros técnicos con una traducción (un poco libre) de un artículo en Inglés sobre el tema que marca el título. Que lo disfrutéis.
Si estás leyendo esto es que quieres conectar un servicio entre dos máquinas comunicadas por un canal no seguro através de ssh. Suponemos que ese servicio es mysql, pero puede ser cualquier otro y solo hay que modificar los scripts para que usen el puerto correspondiente.
Planteamiento del escenario:

------------ -----------------
-- HOST A -- --------- Internet ------------ HOST B --
-- -- -- ssh y mysql --
------------ -----------------


Los requerimientos son:

Pasos:

Crear un usuario ‘tunnel’ en HostA:
[root@hosta ~]# useradd -d /home/tunnel tunnel
[root@hosta ~]# passwd tunnel ## Un pasword fuerte
[root@hosta ~]# su - tunnel ## Convertirse en el usuario 'tunnel'


Crear un par de claves pública/privada
[tunnel@hosta ~]$ ssh-keygen
Generating public/private rsa key pair.
Enter file in which to save the key (/home/tunnel/.ssh/id_rsa): ## pulsar enter
Enter passphrase (empty for no passphrase): ## no usar password
Enter same passphrase again:
Your identification has been saved in /home/tunnel/.ssh/id_rsa.
Your public key has been saved in /home/tunnel/.ssh/id_rsa.pub.
The key fingerprint is:
6f:30:b8:e1:36:49:74:b9:32:68:6e:bf:3e:62:d3:c2 tunnel@hosta
Ahora usa cat para ver el fichero id_rsa.pub que contiene la clave pública que necesitas pner en HostB.
[tunnel@hosta ~]# cat /.ssh/id_rsa.pub
ssh-rsa blahAAAAB3NzaC1yc2EAAAABIwAAAQEA......6BEKKCxTIxgBqjLP tunnel@hosta
Ahora crea un usuario 'tunnel' en HostB y guarda la clave pública de tunnel@HostA en el fichero de claves autorizadas:
[root@hostb ~]# useradd -d /home/tunnel tunnel
[root@hostb ~]# passwd tunnel ## Un pasword fuerte
[root@hostb ~]# su - tunnel
[tunnel@hostb ~]# mkdir .ssh
[tunnel@hostb ~]# vi .ssh/authorized_keys ## Now paste in the public key for tunnel@hosta
En este momento deberías poder conectarte desde HostA a HostB con el usuario tunnel sin usar un passwrod. Depende de tu configuración, es posible que debas añadir al usuario 'tunnel' a los usuarios permitidos en /etc/ssh/sshd_config. También es posible que quieras cambiar algunas opciones de SSh, como el puerto de destino, en ~/.ssh/config.

Ahora creamos el script /home/tunnel/check_ssh_tunnel.sh en HostA
createTunnel() {
/usr/bin/ssh -f -N -L13306:hosta:3306 -L19922:hosta:22 tunnel@hostb
if [[ $? -eq 0 ]]; then
echo Tunnel to hostb created successfully
else
echo An error occurred creating a tunnel to hostb RC was $?
fi
}
## Run the 'ls' command remotely. If it returns non-zero, then create a new connection
/usr/bin/ssh -p 19922 tunnel@localhost ls
if [[ $? -ne 0 ]]; then
echo Creating new tunnel connection
createTunnel
fi
Guardamos el fichero y lo hacemos ejecutable:

chmod 700 ~/check_ssh_tunnel.sh
El script intenta conectarse al puerto local 19922 y ejecutar el comando ls. Si falla, intenta crear el tunel SSH. El comando para crear el tunel SSH, tunelará el puerto local 13306 al puerto 3306 de HostB. Puedes modificar aquí lo necesario para que los puertos se adecuen a tus necesidades. También crea un tunel del puerto local 19922 al puerto 22 en HostB que comprobar la conexión.

Ahora solo añade el script al crontab del usuario 'tunnel' para que se compruebe la conexión cada pocos minutos. Automáticamente reconectará el tunel si algo falla. Cuando crea una nueva conexión enviará un correo al usuario definido en el crontab.

Etiquetas: , , , ,


0 Comentarios
Enlaces a este envio:

10 febrero 2009

Una foto bonita 

Una foto muy bonita. No es gimpeada, es la función de sacar panorámicas del móvil, de ahí los elementos dobles.
El doble arco iris no es por esa razón: había dos concéntricos.

Etiquetas: ,


0 Comentarios
Enlaces a este envio:

17 diciembre 2008

Si eres legal 

Si eres legal visita esta web.

Etiquetas:


0 Comentarios
Enlaces a este envio:

01 diciembre 2008

Diciembre y Nieva 

1 de diciembre de 2008. Las Navidades se acercan y el tiempo ha decidido hacernoslo saber: Nieva. Aunque la semana pasada ya nos avisó con algunos copos, hoy parece que se lo está tomando en serio.
Precaución al volante y abrigarse mucho ;)

Etiquetas: ,


0 Comentarios
Enlaces a este envio:

26 noviembre 2008

Ilusión óptica 

En el blog Mighty Optical Ilusions veo esta imágen:





Con ayuda de firefox he conseguido desvelar un poco la imagen. Pon el cursor encima aquí para verla:


Etiquetas:


0 Comentarios
Enlaces a este envio:

24 noviembre 2008

Semi-nuevo trabajo 

Hoy empiezo un nuevo trabajo. Si otra vez. Bueno, a medias. Es en la misma empresa, pero no en el mismo puesto de trabajo donde he estado el último mes (que era "en casa de un cliente".
Ahora es en las oficinas propias de la empresa y por lo menos tengo mi propio puesto de trabajo. Aún no tengo muy claras mis tareas, pero tiene pinta de apaga-fuegos... A ver que tal sale todo.

Etiquetas:


0 Comentarios
Enlaces a este envio:

28 octubre 2008

Primer día en el nuevo curro 

Por el momento la cosa pinta bien. Llevo el día y medio leyendo manuales, pero lo que veo me gusta. Aunque en principio me decepcionó un poco el hecho de volver a sistemas y abandonar mis bien amados desarrollos, creo que este puesto en concreto y en esta empresa en concreto, puede merecer la pena el cambio.

Etiquetas:


0 Comentarios
Enlaces a este envio:
Nedstat Basic - Estadisticas gratis