Моя ситуация: я хочу удаленно отлаживать свое приложение на C ++ с помощью gdbserver и eclipse. Eclipse работает на моей локальной рабочей станции (в сети 192.168.0.0), а gdbserver работает на кластерном компьютере в сети 10.0.0.0. У меня есть ssh-доступ к кластерной машине через машину, которая находится в обеих сетях.
Как я могу настроить туннель, чтобы мое затмение могло получить доступ к gdbserver? У меня нет прав администратора / root / sudo доступа.
Все машины - Linux / Unix с openssh.
Надеюсь, вы уже можете подключиться по SSH к системе в удаленной частной сети (10.0.0.0). Если ваша локальная система работает под управлением openssh, добавьте в свой $HOME/.ssh/config
:
Host gatewaymachine
LocalForward 12080 remote_ip:portnum
Где «remote_ip» - это IP-адрес удаленной системы кластерного компьютера, на которой работает gdbserver, а portnum - это порт, который он прослушивает. SSH к gatewaymachine, затем подключите свое приложение к localhost, порт 12080. Например, если это веб-приложение
http://localhost:12080
Если вы не используете веб-приложение, вам необходимо настроить информацию о подключении, чтобы отразить, что вы собираетесь использовать порт «localhost» «12080» (или любой другой порт, который вам нравится, см. Ниже).
Вместо редактирования конфигурации ssh вы также можете использовать параметры команды ssh:
ssh -L 12080:remote_ip:portnum gatewaymachine
(измените 12080 на любой порт, который вы хотите выше 1024; ниже 1024, и вам понадобится root-доступ для привязки к порту)
Собственно то, что сказал jtimberman :). Вы могли бы захотеть изучить автосш если у вас есть проблемы с поддержанием туннеля в рабочем состоянии в течение длительного периода времени.