На сервере запущен сайт на 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")