클래스 A 네트워크의 노드에서 응용 프로그램을 실행 중이지만 그 네트워크의 유일한 노드에 로그인하면 내 시스템에서 액세스 할 수 있습니다. 또한 클래스 B 주소를가집니다.SSH 터널을 사용하여 Java 응용 프로그램을 실행하는 두 노드 사이의 통신
그러나 클라이언트 부분 (GUI 및 모든 항목 포함)은 내 시스템에서만 실행할 수 있으므로 클래스 A 네트워크와 통신 할 수있는 방법이 필요합니다. 클라이언트 (내 시스템)는 ServerSocket을 사용하여 내부 네트워크의 가장자리에있는 서버에 간단한 TCP 소켓을 설정하려고 시도하지만 연결 시간 초과 예외가 발생합니다. SSH 포트 22 만 열려 있기 때문에 누군가가 내 시스템에서 내부 네트워크로 패킷을 보내기 위해 SSH 터널링을 사용하도록 권장했습니다.
인터넷 검색이 끝나면 다음과 같이 SSH 터널을 설정할 수 있지만 Java에서 소켓을 설정하려면 어떻게해야합니까? 감사!
ssh -L 2222:10.10.10.10:22 174.174.174.174
편집 : 나는 내부 노드에 내 시스템에서 포트 포워딩을 설정하는 JSch을 사용했지만, 모든 내부에 별도의 터널을 설정하지 않고 내가 양방향 만들 수있는 방법이 마디? 노드는 응답하기 위해 동일한 TCP 연결을 사용하지 않지만 랩톱의 포트 2222에 새 연결을 설정했습니다.
예, 정확하게해야 할 일입니다. 내가 연결을 시도하는 코드의 발췌 부분을 올려 놓았으나 지금까지는 여전히 Connection Timed Out 예외를 얻고 있습니다. – thodinc