단순화를 위해 서버 이름을 지정합니다.server-A, server-B
server-A
- 간단한 서버공개 IP 보유, 서버에는 1G 메모리가 있고 CPU를 공유합니다.server-B
- 더 많은 RAM, CPU 코어 등을 갖춘 더욱 강력한 서버하지만 공개 IP가 없습니다., 제가 액세스할 수 없는 라우터를 통과하므로 해당 서버를 포트 포워딩할 수 없습니다.
server-B
사람들이 연결할 수 있고 서비스의 무거운 컴퓨팅이 실행될 수 있도록 서비스를 실행하고 싶습니다 .server-B
포트 전달을 할 수 없기 때문에 server-B
리버스 셸과 같은 작업을 수행할 수 있는 네트워크 서비스가 있는지 궁금합니다. 연결을 시작하고 터널을 만든 다음 트래픽을 다음으로 전달하는 서비스가 server-B
아닐까요?server-A
server-A
server-B
마지막으로 사람들은 server-A
특정 포트(예: 8080) 에 연결하고 server-A
요청을 수락한 다음 이를 server-B
공유 터널 로 전달합니다.
가능합니까?
노트
그들은 동일한 LAN에 있지 않고 완전히 다른 위치에 있으며 server-B
인터넷에 직접 연결할 수 있지만 직접적으로 연결할 수 는 없습니다 server-A
.server-A
server-B
답변1
서버 A에서 활성화되면 SSH 원격 포트 전달을 사용할 수 있습니다.
서버 B에서 이 명령을 실행하세요.
ssh -R Server-A-port:127.0.0.1:server-B-port -N -f user@Server-A
이제 server-A:Server-A-port
이를 클릭하는 모든 요청이 다음으로 전달됩니다.server-B:server-B-port
SSH 전달에 대해 자세히 알아볼 수 있습니다.여기.