~/docs /SSH-Proxy

SSH-Proxy

SSH-Proxy

Imported from Notion: SSH-Proxy

updated:: 2026.08.29

Para levantar un proxy SOCKS5 mediante SSH con autenticación por clave y un bastionado básico en el servidor, sigue estos pasos:

Generar el par de claves en tu máquina local:

Ejecutar en tu equipo local.

Genera un par de claves moderno (Ed25519) si aún no lo tienes:

ssh-keygen -t ed25519 -a 100 -f ~/.ssh/id_proxy_ed25519 -C "proxy_key"

Copiar la clave pública al servidor:

Ejecutar en el servidor.

Sube la clave pública directamente a tu usuario en el servidor:

ssh-copy-id -i ~/.ssh/id_proxy_ed25519.pub usuario@IP_DEL_SERVIDOR

Bastionar la configuración del servidor SSH:

Ejecutar en el servidor.

En el servidor, edita /etc/ssh/sshd_config (o crea un archivo en /etc/ssh/sshd_config.d/proxy.conf) para desactivar el login por contraseña y permitir forwarding:

# Autenticación y acceso
PubkeyAuthentication yes
PasswordAuthentication yes
PermitEmptyPasswords no
PermitRootLogin yes

# Requerido para túneles y proxy SOCKS
AllowTcpForwarding yes
AllowAgentForwarding no
X11Forwarding no

Aplica los cambios reiniciando el servicio:

sudo systemctl restart ssh

Configurar un alias local en ~/.ssh/config:

Ejecutar en tu equipo local.

Para no escribir flags largos cada vez, añade esto a ~/.ssh/config:

Host mi-proxy
    HostName IP_DEL_SERVIDOR
    User usuario
    Port 22
    IdentityFile ~/.ssh/id_proxy_ed25519
    DynamicForward 1080
    ServerAliveInterval 60
    ServerAliveCountMax 3

Levantar el túnel dinámico SOCKS5:

Ejecutar en tu equipo local.

  • En primer plano (interactivo):
ssh mi-proxy
  • En segundo plano (sin abrir shell remota):
ssh -f -N mi-proxy

Configurar tus aplicaciones:

Apunta el proxy de tu navegador, terminal o gestor de red a:

  • Protocolo: SOCKS5

  • Host: 127.0.0.1 (o localhost)

  • Puerto: 1080

  • Asegúrate de marcar la opción de resolver DNS a través del proxy (DNS remoto) para evitar fugas de consultas.


- EOF -