중간 호스트를 사용하여 두 개의 다른 호스트 사이에 터널을 설정하고 싶습니다. 두 호스트 모두 방화벽 뒤에 있어 들어오는 연결을 허용할 수 없습니다. 보안상의 이유로 중간 호스트의 모든 인터페이스에서 열린 소켓을 수신하는 것을 피하고 싶습니다.
나는 이것이 아마도 netcat과 ssh의 조합을 사용하여 수행될 수 있다고 생각합니다. 여기서 netcat은 명명된 파이프나 유닉스 도메인 소켓을 사용하여 중간 호스트의 연결을 중재합니다.
호스트 A와 호스트 B 모두 SSH를 사용하여 중간 호스트에 연결할 수 있습니다.
그런 다음 호스트 B가 중간 호스트에 설정된 ssh-netcat 터널을 통해 호스트 A에 연결할 수 있도록 설정하려고 합니다.
다음은 형편없는 네트워크 다이어그램입니다.
fw fw || [host-I] || [host-A]-->{ssh}-->||-----> [intermediary-host] <-----||<--{ssh}<--[host-B] <sshd on port 22> || {netcat + unix-socket-or-pipe} || <listen: 2222> /\ || / \ || {ssh -p 2222} \ || / \ || / \<---------==-----< / \ <---------==--</ || ||
그래서 이 작업을 수행하기 위해 각 호스트에서 ssh+nc를 호출하는 방법을 잘 모르겠습니다.