
Я пытаюсь установить RDP-подключение к удаленному серверу Windows. Из-за ограничений брандмауэра мне нужно создать SSH-туннель через 2 удаленных SSH-сервера.
win7 + putty => sshsrv1 (без root) sshsrv1 => sshsrv2 (root) sshsrv2 находится в той же сети, что и winsrv2008, к которому нужно подключиться.
В putty я добавил порт для переадресации в "туннели". Это работает нормально, если я использую только 1 сервер ssh. Я не могу заставить его работать через 2 сервера ssh, что мне на самом деле и нужно.
Вопрос: как сделать переадресацию порта на sshsrv1 не будучи root? Возможно ли это?
решение1
Из страницы руководства openssh: «Только суперпользователь может перенаправлять привилегированные порты».
Порты ниже 1024 считаются «привилегированными». RDP по умолчанию использует 3389, поэтому он выходит за рамки этого диапазона.
Если предположить, что ABCD — это IP-адрес машины Winsrv2008, вы можете:
- Перенаправить порт pX на Win7 на sshsrv1 порт pY
- Из командной строки, которую вы получаете на sshsrv1, откройте сеанс ssh с sshsrv2, перенаправив порт pY на порт 3389 на хосте ABCD (опция -L pY:ABCD:3389)
- На win7 подключите RDP-клиент к 127.0.0.1:pX
Вы можете выбрать порты pX и pY по своему усмотрению, поэтому избегайте использования привилегированных портов/портов.