Как лучше всего настроить SSH-туннель для доступа к удаленной сети (Linux)

Как лучше всего настроить SSH-туннель для доступа к удаленной сети (Linux)

Моя ситуация: Я хочу удаленно отладить свое приложение C++ с помощью gdbserver и eclipse. Eclipse запущен на моей локальной рабочей станции (в сети 192.168.0.0), а gdbserver запущен на clustermachine в сети 10.0.0.0. У меня есть доступ по ssh к clustermachine через машину, которая находится в обеих сетях.

Как настроить туннель, чтобы мой eclipse мог получить доступ к gdbserver? У меня нет прав администратора/root/sudo доступа.

Все машины — Linux/Unix с OpenSH.

решение1

Я надеюсь, что вы уже можете подключиться по SSH к системе в удаленной частной сети (10.0.0.0). Если ваша локальная система работает под управлением openssh, добавьте к вашему файлу $HOME/.ssh/config:

Host gatewaymachine
  LocalForward 12080 remote_ip:portnum

Где 'remote_ip' — это IP-адрес удаленной системы clustermachine, где запущен gdbserver, а portnum — это порт, который он прослушивает. Подключитесь по SSH к gatewaymachine, затем подключите свое приложение к localhost, порт 12080. Например, если это веб-приложение

http://localhost:12080

Если вы не используете веб-приложение, вам необходимо настроить информацию о подключении так, чтобы она отражала, что вы собираетесь использовать порт «localhost» «12080» (или любой другой порт, который вам нравится, см. ниже).

Вместо редактирования конфигурации ssh вы также можете использовать параметры команды ssh:

ssh -L 12080:remote_ip:portnum gatewaymachine

(измените 12080 на любой нужный вам порт выше 1024; если ниже 1024, вам понадобится доступ root для привязки к порту)

решение2

В общем, то, что сказал jtimberman :). Возможно, вам захочется взглянуть наавтосшесли у вас возникли проблемы с поддержанием туннеля в рабочем состоянии в течение длительного времени.

Связанный контент