Telegram Web Link
Necesito que mi app local se pueda conectar a un backend privado y probar varias cosas, pero eso es solo accesible desde una ip unicamente, vamos a hacer un inventico ahi

🛠 Configuración de túnel SSH persistente con systemd

🎯 Objetivo

Establecer un túnel SSH desde el servidor local hacia una máquina intermedia (host2) para exponer puertos de un backend privado (10.110.32.30) localmente en localhost.
Esto permite que servicios que solo están accesibles desde host2 puedan ser consumidos desde el servidor actual de forma transparente.


🔐 Requisitos
• Tener una llave privada válida (ec2-key-pair.pem) para acceder al host2.
• El usuario local (ubuntu) debe tener permisos sobre la llave.
• El acceso SSH a ec2-user@host2 debe funcionar sin contraseña.
• host2 debe tener acceso de red a 10.110.32.30.

🧱 Qué hace esta configuración

El siguiente bloque crea un servicio systemd llamado ssh-tunnel-service.service que:
• Establece un túnel SSH al host intermedio (host2) usando una llave.
• Redirige los puertos locales:
127.0.0.1:901210.110.32.30:9012
127.0.0.1:901610.110.32.30:9016
127.0.0.1:889410.110.32.30:8894
• Corre en segundo plano y se reinicia automáticamente si falla o se pierde la conexión.
• Se lanza al inicio del sistema.

🧾 Comando utilizado para crear el servicio
sudo tee /etc/systemd/system/ssh-tunnel-service.service > /dev/null <<EOF
[Unit]
Description=SSH Tunnel to 10.110.32.30 via ssh host2
After=network.target
Wants=network.target

[Service]
User=ubuntu
ExecStart=/usr/bin/ssh -N \
-i /home/ubuntu/ec2-key-pair.pem \
-o ServerAliveInterval=60 \
-o ServerAliveCountMax=3 \
-o ExitOnForwardFailure=yes \
-o StrictHostKeyChecking=no \
-L 127.0.0.1:9012:10.110.32.30:9012 \
-L 127.0.0.1:9016:10.110.32.30:9016 \
-L 127.0.0.1:8894:10.110.32.30:8894 \
ec2-user@host2
Restart=always
RestartSec=10

[Install]
WantedBy=multi-user.target
EOF

🚀 Cómo activar el servicio
sudo systemctl daemon-reload
sudo systemctl enable ssh-tunnel-service
sudo systemctl start ssh-tunnel-service

🔍 Validación

Para comprobar que está funcionando:
sudo systemctl status ssh-tunnel-service
netstat -tulnp | grep 901
curl http://127.0.0.1:9012

📝 Notas
• El túnel solo está disponible en localhost. No expone los puertos hacia fuera.
• Puedes ajustar los puertos y destinos modificando la sección -L del ExecStart.
1
🧐
Please open Telegram to view this post
VIEW IN TELEGRAM
Mientras tanto
🤣7
Sabes que vas por buen camino cuando te llega este correo
🔥23👏4🤣2
for i in a c g h ; do echo "Comprobando $i.nic.es";dig @$i.nic.es syscu.es ns +noall +ans +auth +add; echo; done
😁2
2025/09/14 06:28:07
Back to Top
HTML Embed Code: