Я хотел бы запустить приложение (назовите его firefox) на моей рабочей машине. Проблема в том, что мне нужно выполнить сложное туннелирование ssh, чтобы получить доступ к нему, поскольку доступ к машине заблокирован снаружи, а некоторые порты также заблокированы внутри. Поэтому я делаю следующее.Как автоматизировать решение vnc + ssh
ssh -v -L 1200:serverC:22 [email protected] (locally)
ssh -v -L 5900:127.0.0.1:5900 -p 1200 [email protected] (locally)
x11vnc -safer -localhost -nopw -once -display :0 (on serverC)
vinagre localhost::5900 (locally)
Затем я запускаю firefox (скажем) в открывшемся окне vnc, и все это работает.
Однако я хотел бы иметь сценарий bash, который делает это для меня. Как я могу его автоматизировать?
Есть две проблемы.
- Мне нужно оставаться в силе после каждого ssh выше для работы с туннелированием, поэтому простой сценарий bash просто останавливается после первого шага.
- Я не знаю, как заставить приложение автоматически запускаться в окне vnc.
В идеале я бы просто напечатал «./remote-firefox» (например) локально, чтобы все это произошло.
Какая часть я заменяю с этим? – Anush
Мое понимание таково: у вас есть локальная система Linux и вы хотите просмотреть vnc удаленной системы Linux. Если да, то 2 команды должны соответствовать вашему требованию, чтобы заменить все 4 команды. Если ваш vncviewer поддерживает параметр '-via', он будет заниматься туннелированием за кулисами. – anishsane
Ah no. Проблема в том, что я не могу напрямую обращаться к удаленной системе, и на самом деле я не могу даже получить доступ к 5900 от промежуточной машины. Вот почему я должен сделать это сложное наложение. – Anush