2014-11-25 7 views
2

원격이라고하는 서버에서 실행되는 JVM에 JProfiler를 연결하려고합니다. 이 서버는 내 워크 스테이션 (로컬)에서만 중간이라고하는 다른 서버를 통해 액세스 할 수 있습니다.JProfiler를 2 홉 SSH 터널을 통해 사용하는 방법

  1. 원격

  2. 원격 에, 중간을 통해, 지역에서 SSH 터널을 설정 에 JProfiler와 계측를 설치 원격에 JProfiler와 연결하기위한 나의 계획이 있었다 :

    ssh -v -N -L 8849:[remote's private address (192.168... etc)]:8849 [middle]

    Connection error

    Either an old version of the native library is used or another application is listening on port 8849. Please check your DYLD_LIBRARY_PATH environment variable and your port configuration

    그렇게하지 :

  3. 내가 오류를 받고 결국, 그러나

"시작 즉시, JProfiler와 GUI 나중에 연결"을 선택, localhost:8849에 새로운 JProfiler와 세션을 설정 내 SSH 터널을 제외하고 로컬 포트 ​​8849에 연결된 다른 프로그램을 가지고 있고 SSH 터널 자체가 올바르게 작동해야합니다. - 테스트 HTTP 서버에 대한 연결을 에서으로 전달할 수 있습니다. 유사한 구성의 터널을 통해 로컬.

비슷한 질문이 있지만 해결책이 제공되지 않았습니다.

구성에 무엇이 누락 되었습니까?

답변

1

직접 터널

ssh -t [email protected] -L [localPort]:localhost:[remotePort] -N 

설립 된 터널이 연쇄 SSH 명령으로 내장되어 2 홉 :

ssh -t [email protected] -L [localPort]:localhost:[remotePort] \ 
ssh -t [email protected] -L [remotePort]:localhost:[remotePort] -N 

localPort는 로컬로 사용하고자하는 포트입니다 , remotePort은 프로파일 링 에이전트가 수신 대기하는 포트입니다. 이 모든 작업은 로컬 시스템의 단일 명령으로 실행됩니다. 첫 번째 줄과 같이 추가 ssh 호출로 더 많은 홉을 추가 할 수 있습니다. 전체 명령에 정확히 하나의 후행 -N이 있어야합니다.

이 접근법은 JProfiler와 작동합니다.

터널링이 실패하거나 프로파일 링 에이전트가 수신 대기하지 않는 경우 SSH 터널의 경우 연결이 실패하는 방식으로 인해 언급 한 메시지가 표시됩니다.