SSH 연결에 포트 8080을 사용하지 않고 서버의 포트 8080에 액세스

SSH 연결에 포트 8080을 사용하지 않고 서버의 포트 8080에 액세스

저는 브라우저에서 상호작용할 수 있는 프로그램을 실행하고 있습니다. 이렇게 하려면 프로그램을 실행하고 브라우저에서 "localhost:8080"을 엽니다(8080이 올바른 포트인 경우).

그러나 나는 서버에서 프로그램을 실행하고 있으며 SSH 연결을 통해 내 브라우저를 사용하여 내 컴퓨터에서 해당 프로그램에 액세스하려고 합니다. 이는 프로그램이 사용하는 SSH 연결에서 동일한 포트를 사용해야 함을 의미합니다. 하지만 그것은 작동하지 않습니다. 내 이론은 프로그램과 SSH 연결이 포트를 위해 싸우고 있다는 것입니다.

즉, 내 질문은 다음과 같습니다. SSH 연결에 포트 8080을 사용하지 않고 서버의 포트 8080에 어떻게 액세스합니까?

추가 참고 사항: SSH 연결에서 X 전달(-X 옵션)을 사용하고 서버에서 브라우저를 실행해 보았습니다. 이것은 작동하지만 매우 느립니다.

답변1

ssh원격 서버에서 브라우저를 실행하는 대신 터널을 사용하여 로컬 포트를 원격 서버의 로컬 포트로 전달합니다.

localhost:8080원격 호스트에 포트 8080이 있다고 가정하면 이 명령은 로컬 시스템에 수신 포트 8080(첫 번째 포트)을 생성 하고 해당 포트에 대한 모든 연결을 터널링하여 localhost:8080실행합니다.원격 호스트의 컨텍스트에서- 즉, remote_host 자체의 포트 8080입니다. 세션이 터미널에 계속 열려 있도록 -f하려면 ssh가 백그라운드에서 계속 실행되도록 지시합니다 .ssh

local$ ssh -f -L localhost:8080:localhost:8080 remote_host
local$ firefox http://localhost:8080/

답변2

귀하의 질문을 올바르게 이해했는지 잘 모르겠습니다. 우선 SSH는 기본적으로 포트 22에서 실행됩니다.

이제 흥미로운 점은 먼저 sshd가 실행 중인지 확인하고 구성 파일을 수정한 경우 실행 중인 포트를 확인한다는 것입니다.

포트 8080에서 웹 인터페이스를 실행하고 지속적으로 수신 대기하는 경우 이 포트를 통해 다른 애플리케이션에 연결할 수 없습니다.

관련 정보