2개의 SSH 터널을 연결하고 싶습니다.
내 컴퓨터 myhost.example.com에서hosta.example.com 및hostb.example.com으로 SSH를 통해 연결할 수 있습니다. (그 사이에 박스 호핑 방화벽과 다른 것들이 있을 수 있지만 이것이 .ssh_config에 정의되어 있다고만 말하면 충분합니다.) ).
Hosta는 Hostb에 직접 연결할 수 없으며 그 반대의 경우도 마찬가지입니다. "-L"과 "-R"을 사용하면 SSH 연결을 통해 터널을 만들 수 있지만 터널의 한쪽 끝은 항상 내 로컬 컴퓨터라는 것을 알고 있습니다.
Hosta.example.com이 myhost.example.com을 통해 Hostb.example.com에 연결할 수 있도록 터널에 가입하려면 어떻게 해야 합니까?
(Google을 사용해 보았지만 내가 찾은 것은 단일 터널을 설정하는 방법을 알려주는 백만 개의 웹 페이지뿐이었습니다. 2에 가입하는 것이 아닙니다.)
답변1
로컬 컴퓨터에서 다음 연결을 성공적으로 설정한 경우:
ssh -L 1234:localhost:5678 hostb.example.com
그런 다음 연결된 모든 로컬 프로세스는 localhost:1234
Hostb에서 수신 대기 중인 모든 항목에 도달합니다 localhost:5678
.
로컬 컴퓨터에서 이 작업을 수행하는 경우:
ssh -R 9876:localhost:1234 hosta.example.com
그런 다음 Hosta에 연결되는 Hosta의 모든 프로세스는 localhost:9876
로컬에 도달합니다 localhost:1234
.
그러나 로컬은 localhost:1234
정확히 첫 번째 터널( )의 로컬 끝이므로 ssh -L …
이제 Hosta에서 Hosta로의 연결은 localhost:9876
결국 Hostb에서 수신 중인 모든 항목에 도달하게 됩니다 localhost:5678
. 다음은 두 개의 터널 체인의 예입니다.