У меня есть удаленный сервер, на котором размещена виртуальная машина, на которой запущена веб-служба на порту 8000.
Я хочу иметь доступ к веб-службе из веб-браузера на моем ноутбуке, зная, что:
Если бы веб-служба работала непосредственно на сервере, я бы сделал следующее:
ssh -L 8000:localhost:8000 user@server
Что перенаправляет все, что я делаю на localhost: 8000, в удаленную службу через SSH. Как сделать что-то подобное для ВМ?
Вы можете создавать туннели SSH через несколько переходов. Я не уверен, что понимаю ваш 4-й пункт. Я предполагаю, что вы имеете в виду, что на сервере есть закрытый ключ SSH, который разрешен открытым ключом на виртуальной машине.
Если это не В этом случае вы можете просто перейти к нему:
ssh -J server.ip -L 8000:localhost:8000 vm.ip
Если это так, вам нужно сделать что-то вроде
ssh -t user@server -L 8000:localhost:8000 ssh -t user@vm -L 8000:localhost:8000
Таким образом, вы просто объединяете команды SSH в цепочку и можете объединять несколько команд, пока вы отслеживаете туннелирование.