
원격 Windows 서버에 대한 RDP 연결을 설정하려고 합니다. 방화벽 제한으로 인해 2개의 원격 SSH 서버에 SSH 터널을 만들어야 합니다.
win7 + putty => sshsrv1 (루트 없음) sshsrv1 => sshsrv2 (루트) sshsrv2는 Winsrv2008과 동일한 네트워크에 있으므로 연결하려고 합니다.
퍼티에서는 "터널"로 전달할 포트를 추가했습니다. SSH 서버를 하나만 사용하면 제대로 작동합니다. 2개의 SSH 서버를 통해 작동하도록 할 수 없습니다. 이것이 실제로 필요한 것입니다.
질문: 루트가 아닌 sshsrv1에서 어떻게 포트포워딩을 할 수 있나요? 이것이 가능한가?
답변1
openssh 매뉴얼 페이지에서: "수퍼유저만 권한 있는 포트를 전달할 수 있습니다."
1024 미만의 포트는 "권한 있는" 포트로 간주됩니다. 기본적으로 RDP는 3389를 사용하므로 해당 범위를 벗어납니다.
ABCD를 Winsrv2008 시스템의 IP 주소로 가정하면 다음을 수행할 수 있습니다.
- Win7의 포트 pX를 sshsrv1 포트 pY로 전달
- sshsrv1에 있는 명령줄에서 sshsrv2에 대한 ssh 세션을 열고 포트 pY를 호스트 ABCD의 포트 3389로 전달합니다(옵션 -L pY:ABCD:3389).
- win7에서는 RDP 클라이언트를 127.0.0.1:pX에 연결합니다.
pX, pY 포트를 원하는 대로 선택할 수 있으므로 권한 있는 포트/사용 중인 포트는 피하세요.