SSH через HTTP с прокси-туннелем и nginx

Я пытаюсь настроить соединение ssh через http, используя nginx в качестве веб-сервера. Похоже, вокруг нет никаких рабочих примеров. proxytunnel - это то, что я использую для обёртки http на ssh, и пока он не очень хорошо работает с nginx. Возвращает: ноутбук ~$ proxytunnel -v -p ssh.example.com:80 -d localhost:22 -H "Пользовательский агент: Mozilla/4.0 (совместимый; MSIE 5.0; Windows NT 5.1; .NET CLR 1.1.4322)\n"Локальный прокси-сервер ssh.example.com разрешается до 1.2.3.4. Подключен к ssh.example.com:80 (локальный прокси-сервер).

Tunneling to localhost:22 (destination)
Communication with local proxy:
 -> CONNECT localhost:60022 HTTP/1.0
 -> Proxy-Connection: Keep-Alive
 -> User-Agent: Mozilla/4.0 (compatible; MSIE 5.0; Windows NT 5.1; .NET CLR 1.1.4322)\n
 <- <html>
 <- <head><title>400 Bad Request</title></head>
 <- <body bgcolor="white">
 <- <center><h1>400 Bad Request</h1></center>
 <- <hr><center>nginx/0.7.67</center>
 <- </body>
 <- </html>
analyze_HTTP: readline failed: Connection closed by remote host

Использование SSH просто добавляет: ssh_exchange_identification: Connection closed by remote host

Мой конфиг выглядит следующим образом. Nginx:

~ default: nginx.conf

sshtunnel:

upstream tunnel {
server localhost:22;
}
server {
listen 80;
server_name ssh.*;
location / {
proxy_pass http://tunnel;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_redirect off;
}
}

ssh: default + gatewayports = yes + только ключ авторизации

У кого-нибудь есть идеи о том, что не так? Мой googlefu подводит меня к этому:/

0 ответов

Другие вопросы по тегам