Inicio
> Programación > Script para crear un tunel con un servidor SSH remoto
Script para crear un tunel con un servidor SSH remoto
viernes, 12 diciembre 2008
Hola,
desde hace tiempo empleo a diario túneles ssh para conexión a distintos equipos. Normalmente suelo usar el putty para crear los túneles ya que tengo configurada para cada conexión los túneles que puedo usar, pero a veces necesito crear una conexión rapida a un puerto que no tengo configurado en putty. Para ello tengo un pequeño script en bash para crear el túnel pasandole la ip y los puertos remoto y local. Dentro del script tiene como variables el usuario (que lo dejo fijo) y la ip pública o privada (para LAN) del servidor SSH.
Os lo dejo aquí y espero que os sea de utilidad. En mi caso este es el scrip básico que modifico para distintos servidores.
#!/bin/bash # # **************************************************************************************** # tunel_ssh.sh # Script que nos permite crear un tunel con un servidor SSH remoto. # # # (c) Diciembre 2008 Carlos Fco. Andión López # # Nos pedirá la IP de la máquina en la red remota a la que nos queremos coenctar, # el puerto remoto y el puerto local con el que queremos hacer el tunel. # # Se pasa el parámetro -N a la conexión para evitar la ejecución de comandos remotos # # Para hacer un mapeado a puertos locales privileguiados (inferiores al 1024) es necesario # ejecutar el script como root # tunel_ssh.sh is free software; you can redistribute it and/or modify it under the terms of # the GNU General Public License as published by the Free Software Foundation; either version 2 # of the License, or (at your option) any later version. # # tunel_ssh.sh is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; # without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. # See the GNU General Public License for more details. # **************************************************************************************** #variables de conexión SERVER="ip_publica_servidor" USUARIO="mi_usuario" echo "************************************************************************" echo "* *" echo "* Creando tunel SSH con $SERVER" echo "* *" echo "************************************************************************" # IP de la máquina en la red remota echo "¿IP en la red remota?" read IP # Puerto remoto con el que queremos crear el tunel echo "¿Puerto remoto?" read RPORT # Puerto local al que nos conectaremos echo "¿Puerto local?" read LPORT echo "************************************************************************" echo "" echo "Creando el tunel SSH con la IP remota $IP:$RPORT a localhost:$LPORT en $SERVER" echo "" echo "************************************************************************" read -p "Pulse una tecla para iniciar la conexión " ssh -v -L$LPORT:$IP:$RPORT $USUARIO@$SERVER -N
Categorías: Programación
Programación, Scripts