2012-01-12 1 views
0

사실,이 문제가 ssh 터널 문제인지 아니면 PuTTY 문제인지 확실하지 않습니다. 그러나 나는 아직도 초창기에 ssh 질문으로 그것을 보여주고 싶다.ssh 터널이 쉘 명령 데이터와 포트 전달 데이터를 구별하는 방법은 무엇입니까?

Windows 시스템에서 ssh tunnel을 사용하고 있으며 퍼티를 사용하고 있습니다. 터널 설정으로 퍼티 세션을 만들고 대상 컴퓨터를 연결할 때. Process Explorer에서 두 개의 TCP 연결이 있음을 발견했습니다. 22

  • 다른 (예 : 8000)는 로컬 포트에서 수신된다

    • 하나는 원격 호스트에 연결된다.

    필자의 견해로는 의미가 있습니다. 첫 번째 것은 원격 ssh 서버에 대한 실제 ssh 연결이며 모든 실제 out-coming 데이터가 전달됩니다. 그리고 두 번째는 포트 포워딩 (ssh 터널)의 결과이며, 원격 http 프록시에 매핑되며 실제로는 원하는대로 작동합니다.

    그러나 여기에 또 다른 "데이터 교환 채널"이 있습니다. 즉, 원격 SSH 서버에 연결되는 것은 shell입니다.

    난 그냥 혼란입니다 : 같은 연결을 사용하여 shell

    • 로컬 8000 포트 (ssh tunnel)는 SSH 연결을 사용하여 원격 컴퓨터에 데이터를 전송하는 경우,인가?
    • 예 (여기에 YES 인 것처럼 보입니다. 단 하나의 ssh 연결이 있음), ssh 연결이 쉘 명령 데이터 또는 일부 터널 데이터인지 구분하는 방법은 무엇입니까?
      데이터가 무엇인지 구별 할 수있는 ssh 터널 아래에 프로토콜이 있다는 것을 의미합니까? (단지 임의의 추측)
  • +2

    이 질문은 프로그래밍과 관련이 없으므로 대신 [superuser.com] (http://superuser.com/faq)을 사용해보십시오. – FrankS

    답변

    1

    SSH는 다양한 수준의 프로토콜 제품군입니다. 쉘 및 터널링은 SSH 연결 위에 실행되는 서브 시스템입니다. 병렬로 실행할 수 있습니다. 보낸 데이터는 채널 (일부 하위 시스템의 인스턴스)을 통해 전송되고 SSH 패킷 (데이터 주위의 래퍼)이 속한 채널은 패킷 자체에 지정됩니다.

    관련 문제