Você pode fazer o truque usando algum Perl:
sslh - Alterna a conexão de entrada entre servidores SSH e SSL / HTTPS
Situação: Eu quero encapsular sessões SSH através de HTTPS. Eu tenho um firewall / proxy muito restritivo que permite apenas tráfego HTTP, FTP e HTTPS.
O que funciona: Configurando um túnel através do proxy para uma caixa de linux remota que tem um sshd escutando na porta 443
O problema: Eu tenho que ter um servidor web (lighty) em execução na porta 443. O tráfego HTTPS para outras portas é proibido pelo proxy.
Ideias até agora: Configure um host virtual e proxy todas as solicitações recebidas para localhost: (por exemplo, 22)
$HTTP["host"] == "tunnel.mylinux.box" {
proxy.server = (
"" => (("host" => "127.0.0.1", "port" => 22))
)
}
Infelizmente isso não funcionará. Estou fazendo algo errado ou há uma razão para que isso não funcione?
Você pode fazer o truque usando algum Perl:
sslh - Alterna a conexão de entrada entre servidores SSH e SSL / HTTPS
Você pode querer investigar a implementação de SSlh .
Do site:
sslh lets one accept both HTTPS and SSH connections on the same port. It makes it possible to connect to an SSH server on port 443 (e.g. from inside a corporate firewall) while still serving HTTPS on that port. This feature has already been implemented as a Perl script.
There are two problems with sslh:
- It's in Perl. That means it's pretty RAM hungry, and probably not very fast.
- It doesn't manage privilege dropping, which is rather questionnable.The obvious solution to both problems was to re-implement it in C, which is what this program is about.
Tags firewall https lighttpd ssh-tunnel