원격 네트워크에 액세스하기 위해 SSH 터널을 가장 잘 설정하는 방법(Linux)

원격 네트워크에 액세스하기 위해 SSH 터널을 가장 잘 설정하는 방법(Linux)

내 상황: gdbserver 및 eclipse를 사용하여 C++ 애플리케이션을 원격으로 디버깅하고 싶습니다. Eclipse는 내 로컬 워크스테이션(192.168.0.0 네트워크)에서 실행 중이고 gdbserver는 10.0.0.0 네트워크의 클러스터 시스템에서 실행 중입니다. 두 네트워크 모두에 있는 시스템을 통해 클러스터 시스템에 대한 SSH 액세스 권한이 있습니다.

Eclipse가 gdbserver에 액세스할 수 있도록 터널을 어떻게 설정합니까? 관리자 권한/루트/Sudo 액세스 권한이 없습니다.

모든 머신은 openssh가 있는 linux/Unix입니다.

답변1

이미 원격 개인 네트워크(10.0.0.0)의 시스템에 SSH로 연결할 수 있다고 믿습니다. 로컬 시스템에서 openssh를 실행 중인 경우 다음 항목에 추가하세요 $HOME/.ssh/config.

Host gatewaymachine
  LocalForward 12080 remote_ip:portnum

여기서 'remote_ip'는 gdbserver가 실행되는 원격 클러스터 시스템의 IP 주소이고 portnum은 수신 대기하는 포트입니다. SSH를 통해 게이트웨이 머신에 연결한 다음 애플리케이션을 로컬 호스트, 포트 12080에 연결합니다. 예를 들어 이것이 웹 애플리케이션인 경우

http://localhost:12080

웹 애플리케이션을 사용하지 않는 경우 'localhost' 포트 '12080'(또는 원하는 포트, 아래 참조)을 반영하도록 연결 정보를 설정해야 합니다.

SSH 구성을 편집하는 대신 SSH 명령 매개변수를 사용할 수도 있습니다.

ssh -L 12080:remote_ip:portnum gatewaymachine

(12080을 1024 이상 원하는 포트로 변경하고, 1024 이하에서는 포트에 바인딩하려면 루트 액세스가 필요합니다)

답변2

기본적으로 jtumberman이 말한 내용입니다 :). 당신은 조사하고 싶을 수도 있습니다autossh장기간 터널을 유지하는 데 문제가 있는 경우.

관련 정보