
¿Cómo permitir SSH cuando la red está bloqueada en todos los puertos excepto HTTP y HTTPS?
Tengo curiosidad por saber cómo puedo crear un túnel SSH que me permita utilizar SSH a través de 443 y que funcione incluso después de reiniciar el servidor.
Estoy intentando utilizar Laravel Forge para configurar el servidor. Sin embargo, si los puertos SSH están bloqueados, Laravel Forge no funcionará. Por lo tanto, estoy tratando de encontrar una manera de permitir SSH para Laravel Forge a través de un agente de túnel.
Respuesta1
Bueno, si el servidor web usa el puerto 443, no puede reutilizarlo para otra cosa (en realidad, hay formas de hacer esas cosas). Lo que sugeriría es que el servidor cree una conexión SSH saliente a otra caja, muy probablemente que la política de firewall permitirá esto.
Haz algo como esto:
ssh -L 2222:localhost:22 some.other.server
(Quizás incluso hacerlo persistente usando un servicio.https://gist.github.com/drmalex07/c0f9304deea566842490)
Luego inicie sesión en algún.otro.servidor y haga esto:
ssh -p 2222 webserveruser@localhost
O deje que su automatización se conecte a este puerto.
Para ir un paso más allá, puedes usar la opción de salto para saltar directamentea través deel servidor intermedio. Su .ssh/config podría verse así.
Host intermediate.server
HostName intermediate.server
User someuser
IdentityFile ~/.ssh/id_rsa
Host webserver
HostName localhost
User someuser
Port 2222
IdentityFile ~/.ssh/id_rsa
ProxyJump intermediate.server
permitiéndole efectivamente hacer esto:
ssh webserver
¡Me encanta ssh!