Etiqueta: ssh

  • Nextcloud en Oracle Cloud Services

    Oracle tiene intención de apostar fuertemente por la Nube y por ello nos ofrece «gratuitamente» la creación y el uso de 2 VPS con unas prestaciones mas que suficientes para implantar algunos servicios en la nube.

    Hay muchos tutoriales en Youtube donde explican cómo crear estos VPS de forma sencilla. En concreto, Apuntes IT tiene unos muy bien explicados.

    El artículo concreto está en su web.

    El artículo concreto en su web.

    El artículo completo.

    Los recomiendo porque son sencillos y muy útiles.

    En este post, lo único que añadiré o modificaré ligeramente son los comandos para abrir los puertos desde la máquina VPS de Oracle ya que el autor de los tutoriales utiliza IPTABLES y creo, bajo mi punto de vista, que hay opciones mas sencillas.

    UFW

    Lo primero que haré será acceder via ssh a nuestro VPS y desde allí ejecutar los siguientes comandos:

    sudo apt remove netfilter-persistent

    Quitamos el cortafuegos basado en IPTABLES que incorporan por defecto las máquinas virtuales.

    apt install ufw

    Instalamos UFW que es mucho mas fácil de configurar.

    sudo ufw allow 22/tcp
    sudo ufw allow 80/tcp
    sudo ufw allow 443/tcp

    Habilitamos los puertos a los que queremos dar acceso.

    sudo ufw enable
    sudo ufw status

    Habilitamos el nuevo cortafuegos y comprobamos su estado.

    En este momento ya tenemos el cortafuegos interno de la máquina VPS listo para admitir conexiones.

    Espero sirva de ayuda.

  • SSH Reverse Tunneling

    A menudo tenemos la necesidad de conectar a un servidor ssh, a través de consola, de putty, etc.

    La mayor parte de las veces tenemos que habilitar el NAT del servidor ssh y pelear con los routers para conseguirlo. Una vez salvada la configuración del NAT (router) tenemos que volver a pelear con el posible cortafuegos.

    Para evitar estos problemas viene a nuestro rescate el ssh reverso. ¿Qué pasaría si el servidor destino nos mandara a nosotros (clientes de él) una conexión a nuestro equipo? De esta forma nosotros como clientes recibiríamos la conexión del servidor. Con esto evitamos tener que abrir puertos y configurar el cortafuegos porque es el servidor el que nos manda la conexión a nosotros (a nuestro equipo).

    ¿Cómo hacemos esto?

    (más…)

  • Túnel SSH

    ¿Qué es un túnel SSH?
    Un túnel SSH es una conexión SSH que transforma un puerto X en tu equipo, en el puerto Y de otra máquina, pasando por una tercera.

    ¿Se entiende?
    Es probable que no, así que me explicaré con detalles.

    Una conexión “tradicional”, es cuando quiero acceder a un cierto servicio en otra máquina, y me conecto directamente a ella. Tal como se muestra en la imagen a continuación.

    Pero, ¿qué pasa cuando aún necesito conectarme a esa máquina, pero por alguna razón ya no puedo conectarme directamente?

    En este caso, lo que se hace es usar un tunel SSH.

    • Flechas Azules: Conexiones que si son posibles realizar.
    • Flecha Verde: Túnel SSH. Conexión al otro equipo, pasando por el equipo que puede conectarse.
    • Flecha Roja: Conexión en un puerto local, equivale a la conexión de la flecha roja de la imagen anterior.

    ¿Y como funciona?

    $ ssh -L <puerto local>:<el otro equipo>:<puerto en el otro equipo> <equipo que puede conectarse> -l <usuario para el equipo que puede conectarse>

    Por ejemplo, el servidor de Tareas (carretas.inf.utfsm.cl) del LabComp está restringido para ser accesado solo desde las IP’s del DI. Para conectarme a éste seria algo así como:

    $ ssh -L 6666:carretas:22 ssh2.inf.utfsm.cl -l rcovarru

    En el ejemplo, se podría haber omitido el -l rcovarru, ya que el usuario de mi equipo es exactamente igual.
    Además, como ven, al nombre del servidor de tareas no se le agregó el dominio, eso es solo el equipo al que me estoy conectado (ssh2) también pertenece al mismo dominio.

    Ok, pero ese comando extraño, ¿Qué hace?
    Transforma el puerto 6666 de mi equipo, en el puerto 22 (puerto de ssh) de carretas.

    Esto significa, que ahora me podré conectar “directamente” a carretas por el túnel, con:

    $ ssh -p 6666 localhost -l usuario-en-carretas

    Mientras que la conexión SSH esté viva, el túnel se mantendrá igual.

    Esto, funciona para cualquier tipo de puerto, no solo para comunicarse por ssh. Si quieren conectar, por ejemplo, al servidor postgresql de carretas, el tunel debería ser:

    $ ssh -L 6666:carretas:5432 ssh2.inf.utfsm.cl -l rcovarru

    Y luego, la conexión de psql deberia ser algo así como:

    $ psql -p 6666 -h localhost dbname pguser

    Bonito, ¿verdad?

    Entrada original de Renato Covarrubias-Romero