중간 호스트를 통해 포트를 안전하게 터널링

중간 호스트를 통해 포트를 안전하게 터널링

VNC 포트를 집으로 다시 라우팅하는 방법을 찾고 있습니다. 단일 호스트를 건너뛰고 실제 작업 컴퓨터로 이동해야 합니다.

  • sittinghere내 로컬 가정용 기계가 될거야
  • hopper내가 해야 할 중간 점프를 통과할 거예요
  • overthere원격 작업 기계가 될 것입니다

SSH를 통해 업무용 컴퓨터에 연결할 수 있습니다.

ssh -t hopper "ssh -t overthere"

overthere포트 전달을 사용하여 원격 포트 5900을 로컬 포트 ​​5900으로 전달하고 싶습니다 sittinghere. 그러나 hopper해당 컴퓨터의 누구나 내 VNC 연결에 연결할 수 있으므로 노출된 포트에 바인딩하지 않고도 이 작업을 수행할 수 있기를 원합니다 .

누구도 액세스할 수 없도록 이 포트를 로컬 컴퓨터로 안전하게 전달할 수 있는 방법이 있습니까 hopper?

답변1

SSH의 기본 기능을 사용하여 포트를 전달하십시오. 실행 에서 sittinghere:

 ssh -v -N -L 5900:overthere:5900 user@hopper

VNC 클라이언트를 가리키면 트래픽 localhost:5900overthere:5900hopper

답변2

~/.ssh/config나는 이것을 달성하기 위해 몇 가지 SSH 해킹을 사용했습니다 .

Host hopper
    User naftuli
    ForwardAgent yes

Host overthere
    User naftuli
    ForwardAgent yes
    ProxyCommand ssh -q hopper nc overthere 22

ssh overthere그것이 하는 일은 from 에 연결을 시도할 때 SSH 연결을 포트 22 (예: SSH on )에 sittinghere연결하고 프록시하는 것입니다 .hopperoverthereoverthere

여기에는 몇 가지 큰 부작용이 있습니다.

ssh -L 5900:localhost:5900 overthere "x11vnc -display :0 -localhost"

모든 것이 잘 작동하고 있으며 내가 아는 한 5900은 에서 열리지 않고 에서 hopper직접 전달 됩니다 .overtheresittinghere

답변3

sittinghereSSH overthere포트 에서 으로 포트를 전달하면 됩니다 hopper. 그런 다음 해당 포트를 사용하여 overthere에서 직접 도착할 수 있습니다 sittinghere. 두 번째 SSH 세션에서는 hopper암호화된 SSH 세션만 보면서 VNC 또는 원하는 다른 포트를 전달할 수 있습니다 .

첫 번째 SSH 세션:

ssh -f -N -L 7022:overthere:22 hopper

overthere이제 ~/.ssh/configSSH 클라이언트에게 접속 방법을 알려주세요.sittinghere

Host overthere
    HostName hopper
    Port 7022
    HostKeyAlias overthere

두 번째 SSH 세션:

ssh -f -N -L 5900:localhost:5900 overthere

또는 VNC 포트 터널링이 없는 일반 대화형 SSH 세션:

ssh overthere

줄을 추가하는 것을 귀찮게 하고 싶지 않다면 ~/.ssh/config명령줄에서 연결하는 방법을 알려줄 수 있습니다 overthere.

ssh -p 7022 hopper

...하지만 SSH가 없으면 키 지문이 제대로 확인 HostKeyAlias되지 않습니다 .overthere

모든 명령줄은 에서 실행됩니다 sittinghere.

ssh그런데 아마도 s 옵션을 사용할 필요는 없을 것 같습니다 -t.

답변4

vncviewer명령줄에서 VNC 클라이언트를 사용하는 경우 -via스위치를 사용하여 user@host다른 호스트의 VNC 서버에 연결하기 전에 터널링을 지시할 수 있습니다.

$ vncviewer -via user@host localhost:0

vinagreGUI를 통해 SSH 터널을 통해 연결할 수도 있습니다 . 이렇게 하려면 다음 연결 대화 상자를 통해 이와 유사한 연결을 설정하십시오 vinagre.

              SS #1

이렇게 하면 연결이 SSH 터널 호스트를 통해 터널링됩니다.

    SS #2

인용하다

관련 정보