원래
클라이언트가 실행 중입니다.컴퓨터_A(PC_A는 LAN으로 연결되어 있으므로비공개 IP)
서버가 실행되고 있습니다컴퓨터_B(PC_B는 LAN으로 연결되어 있으므로비공개 IP)
==> 둘 사이를 연결하고 싶습니다컴퓨터_A그리고컴퓨터_B, 비공개 IP가 있기 때문에 직접 할 수는 없습니다.
터널을 이용하려고 생각했는데세 번째 PC_C를 사용하는 SSH, 알려진공개 IP, TCP에서 둘을 연결하는 브리지 또는 릴레이로 사용됩니다.
할 수 있나요설정을 설명해주세요모든 머신에서 SSH와 명령줄을 실행해야 합니까?
그런데 저는 Windows 플랫폼을 사용하고 있습니다.
미리 감사드립니다 :)
답변1
PC_A에서 SSH를 통해 액세스할 수 있고 그 반대로 액세스할 수 있는 세 번째 서버가 필요합니다. 이를 PC_G(게이트웨이)라고 하겠습니다.
PC_A의 $HOME/.ssh/config에 다음을 배치합니다.
Host PC_B
ProxyCommand ssh PC_G nc -w 120 PC_B 22
이제 ssh PC_B
PC_A에서 실행하면 ssh는 PC_B의 구성을 찾고 지정된 에이전트 명령을 실행해야 함을 찾습니다. 따라서 ssh PC_G nc -w 120 PC_B 22
PC_G에서 명령을 실행하고 시작합니다 nc -w 120 PC_B 22
. netcat
PC_B 포트 22(ssh 포트)에 대한 연결을 여는 명령 입니다 . 이제 로컬 SSH는 이 터널을 통해 PC_B의 SSH 클라이언트에 연결할 수 있습니다.