@active8

Как пробросить порт с сервера и открыть url через него?

На сервере запущен сайт на flask. Необходимо при переходе по адресу /connect?station=10.16.0.49 (тут адрес может быть произвольным) делать проброс портов на железку за указанным роутером и открывать страницу этой железки.

Сейчас у меня пробрасывается порт, но страница не загружается. Если сделать вручную
ssh -L 0.0.0.0:1212:192.168.0.8:8080 root@10.16.0.49
то все откроется

Сейчас у меня код выглядит так:

Код
async def ssh_port_forwarding(hostname):
    conn = await asyncssh.connect(
        hostname,
        username="user",
        password="pass",
        known_hosts=None
    )
    listener = await conn.forward_local_port('0.0.0.0', 0, '192.168.0.8', 8080)
    return listener

@app.route("/connect")
async def connect():
    hostname = request.values["station"]

    listener = await ssh_port_forwarding(hostname)
    port = listener.get_port()

    return redirect(f"http://192.168.14.84:{port}/index.htm")
  • Вопрос задан
  • 111 просмотров
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы