비지박스 라우터를 통한 SSH 터널

비지박스 라우터를 통한 SSH 터널

비지박스 라우터가 있고 텔넷을 사용하여 콘솔에 로그인할 수 있으며 웹 인터페이스에도 액세스할 수 있습니다.

내 질문은 내 컴퓨터에 원격으로 액세스할 수 있도록 라우터를 통해 로컬 네트워크에서 SSH 터널을 어떻게 만드는가입니다. 저는 명령줄 기반 솔루션을 찾고 있는데, 라우터의 메모리가 부족하고 유틸리티 세트가 매우 제한되어 있다는 것도 알고 있습니다. 비록 작은 도구 세트만 갖춘 최소한의 Linux 시스템이지만 라우팅, iptables 등과 같은 유틸리티가 있으므로 가능하다고 생각합니다.

또한 아직 비지박스 시스템에 대한 지식이 부족하므로 틀린 부분이 있으면 지적해 주시기 바랍니다.

답변1

나는 몇 가지 스케치를 만들었다.

SSH Tunnel 명령을 입력하는 머신은 다음과 같습니다."당신의 주인".

로컬에서 시작하는 SSH 터널


원격에서 시작하는 SSH 터널

소개하다

  1. 현지의:-L Specifies that the given port on the local (client) host is to be forwarded to the given host and port on the remote side.

    ssh -L sourcePort:forwardToHost:onPort connectToHost의미: SSH를 사용하여 연결 connectToHost하고 모든 연결 시도를 전달합니다.현지의 sourcePortonPort포트에 접근할 수 forwardToHost있는 이름의 컴퓨터 포트에 연결합니다 .connectToHost

  2. 외딴:-R Specifies that the given port on the remote (server) host is to be forwarded to the given host and port on the local side.

    ssh -R sourcePort:forwardToHost:onPort connectToHost의미: SSH를 사용하여 연결 connectToHost하고 모든 연결 시도를 전달합니다.외딴 sourcePortonPortforwardToHost로컬 컴퓨터에서 액세스할 수 있는 컴퓨터의 포트에 연결합니다 .

당신의 모범

리눅스를 실행하는 가정용 컴퓨터

이것은 내 스케치의 세 번째 사진입니다. 집에 있는 컴퓨터에서 Linux를 실행합니까? 인터넷에 ssh가 있는 원격 호스트가 있고 다음을 사용하여 집 컴퓨터에서 간단히 액세스할 수 있습니다.

ssh remotehost

그러면 확실히 SSH가 설치되어 있고 터널을 생성하기 위해 라우터도 필요하지 않습니다. 컴퓨터에서 다음 명령을 사용하십시오(파란색 상자는 yourhost가정용 컴퓨터를 나타냄).

ssh -R 11111:localhost:22 remotehost

이제 원격 호스트에 있고 SSH를 통해 집 컴퓨터에 연결하려면 다음 명령을 사용하십시오.

ssh -p 11111 homeuser@localhost

11111그러면 원격 호스트의 녹색 포트에 대한 SSH 연결이 시작됩니다. 이 연결은 SSH 터널을 통해(비지박스 라우터를 통해서도) 전달되고 22가정용 컴퓨터 로컬 호스트(예: 가정용 컴퓨터 자체)의 분홍색 포트에 연결됩니다.

물론 비지박스는 터널을 설정할 수도 있습니다.

이것은 내 스케치의 네 번째 이미지입니다. 이제 귀하는 busybox에 앉아 있거나 로그인되어 있습니다. yourhost비지박스 라우터도 마찬가지입니다.

ssh -R 11111:nearhost:22 remotehost

이제 원격 호스트에 있을 때 다시 입력하세요.

ssh -p 11111 busyboxuser@localhost

녹색 포트에 연결한 11111다음 터널을 통해 busybox로 전달하고 거기에서 22가까운 호스트(가정용 컴퓨터를 나타냄)의 분홍색 포트에 연결합니다.

답변2

ssh -L이것이 당신이 찾고 있는 것입니다.

A, B, X, Y 총 4개의 호스트의 그림을 그려보겠습니다.

  • A는 일반 클라이언트(예: 웹 브라우저)가 있는 컴퓨터입니다.
  • B는 SSH를 지원하는 가장 가까운 로컬 컴퓨터이며 A와 동일할 수 있습니다.
  • X는 SSH를 지원하는 원격 컴퓨터입니다.
  • Y는 A에서 액세스하려는 서비스(예: 웹 서버)를 호스팅하는 컴퓨터입니다. Y는 X와 동일한 호스트일 수 있습니다.

B의 경우:

ssh -Nn -L 8080:Y:80 username@X

그러면 터널이 설정됩니다.

B:8080 <--- encrypted over ssh ---> X < ---- unencrypted ----> Y:80

그런 다음 A는 B:8080에 연결하고 Y:80을 볼 수 있습니다.

A <--- unencrypted ---> B:8080 <--- encrypted over ssh ---> X < ---- unencrypted ----> Y:80

A가 SSH 서버와 동일한 시스템인 경우 localhost:80에 연결됩니다.

관련 정보