SSH 터널링 포트 전달

SSH 터널링 포트 전달

A, B, C라는 세 대의 컴퓨터가 있습니다. A는 제가 작업 중인 컴퓨터이고 C는 제가 액세스하려는 원격 컴퓨터입니다. 그러나 C는 B를 통해서만 액세스할 수 있습니다. B에만 SSH 서버가 있고 A에만 SSH 클라이언트가 있습니다.

B를 통해 C(포트 80)에 연결할 수 있도록 (가급적 A에서) 어떤 명령을 사용해야 합니까? 예를 들어 B는 모든 수신 포트 12345를 C:80으로 전달해야 합니다.

나는 이것이 일반적인 질문이라는 것을 알고 있으며 Google에서 수많은 명령을 찾았지만 아무것도 작동하지 않는 것 같습니다.

일단 설정되면 A에서 localhost:5678을 사용하여 B:1234에 연결한 다음 C:80으로 전달해야 합니다.

감사해요.

답변1

sshd데몬이 다른 시스템에 대한 포트 전달을 허용하지 않거나 포트 전달을 전혀 허용하지 않도록 설정되었을 수 있습니다 . 어쨌든, 포트 80에 A액세스하기 위해 발행하는 올바른 명령은 C다음과 같습니다.

ssh -L localhost:5678:<ip-or-name-of-C>:80 <ip-or-name-of-B>

세션이 설정된 후 sshlocalhost:5678에 연결하여 C:80에 연결합니다. 호스트 A:5678에 대한 인바운드 연결을 C:80으로 전달하려면 localhost:위 명령에서 제거하십시오.

에서 다른 호스트로의 포트 전달이 비활성화된 경우 B설명된 체인 연결을 시도해 볼 수 있습니다.여기

관련 정보