Удаленный рабочий стол Microsoft через ssh-перенаправленный порт


10

У меня есть ситуация, когда я предоставляю доступ к серверу Windows, перенаправляя порт 3389 удаленного рабочего стола с помощью ssh с моего Mac во внутреннюю часть недоступной в противном случае сети.

Теперь я могу подключиться к версии удаленного рабочего стола для Windows , но версия удаленного рабочего стола для Mac истекло и не предоставляет доступ. Это даже при использовании IP-номера в качестве хоста для подключения.

Любая идея, почему это происходит и как я могу обойти это?


Это все еще желательно из-за измененного программного обеспечения. Открытие щедрости.
Торбьерн Равн Андерсен

Вы пробовали с более новым клиентом, 2.1.2?
Рускес

Еще нет. У меня 2.1.0. Спасибо, попробую обновить.
Турбьёрн Равн Андерсен

Я держал виртуальную коробку с установленными окнами для подобных ситуаций. К сожалению, я бы хотел, чтобы все работало изначально на Mac - но когда клиент не может или не даст мне надлежащий VPN - при работе ОС они пробивают дыры (или, что еще хуже, полагаются на нестандартные одноразовые поведения) в в конце концов их брандмауэр для меня гораздо меньше. В конце концов - я запускаю RDC, чтобы увидеть окна, поэтому не имеет значения, что у меня эта ОС тоже работает локально. Так как вам явно нужен клиент Mac, можете ли вы подключиться к VPN-соединению?
bmike

Что произойдет на Mac, если вы просто перенаправите порт localhost: telnet? Это работает как ожидалось? Похоже, что есть проблема с вашим SSH туннелем.
дб

Ответы:


5

Не пересылайте локальный порт 3389, различные версии Remote Desktop слишком умны для своей пользы.

Мои обычные шаги включают пересылку локального 3390 на удаленный 3389. Затем в MacRDC я использую: localhost:3390в качестве адреса для подключения тоже.

Я не знаю, используете ли вы что-нибудь для помощи в настройке ssh-соединения, но из командной строки это будет примерно так:

ssh -L 3390:172.16.5.32:3389 jason@remote.net

Куда;
- 3390это локальный порт переадресации на моей коробке.
- 172.16.5.32удаленный хост Windows. и;
- 3389это порт удаленного рабочего стола (очевидно).


Я попробовал это, но, к сожалению, прохождение через порт 3390 тоже не сработало :( Я попытался добавить имя хоста сервера Windows в / private / etc / hosts (псевдоним 127.0.0.1), чтобы посмотреть, смогу ли я обмануть любой механизм «искать HOST», но нет. С какой версией Windows это происходит и с какой версией Remote Desktop для Mac?
Thorbjørn Ravn Andersen

MacRDC 2.0.1, Windows RDC это было так долго, что я не мог вам сказать. Кажется, я помню, что это происходило со стандартным mstsc от Windows XP и вперед
Джейсон Салаз

Ваш оригинальный комментарий означает, что localhost:3390в окне RDC не работает? И вы пробовали myhost:3390(с псевдонимом myhost в строке 127.0.0.1 в файле hosts) также безрезультатно?
Джейсон Салаз

Кроме того, вы получаете какой-либо вывод в окне терминала? Сбои канала или что-то в этом роде? Есть какие-либо сообщения об ошибках, внешние по отношению к приложению MacRDC?
Джейсон Салаз

Теперь я снова взглянул на это, включая хак "myhost-> localhost", и оказалось, что этого недостаточно. Колесо вращается в MacRDP, пытаясь подключиться, но время ожидания истекло. В Console.app нет сообщений. Я использую пользовательский инструмент для переноса вперед (нет доступа по SSH). Мне действительно интересно, что он пытается сделать, что не получается.
Турбьёрн Равн Андерсен

5

На вашем Mac, возможно, попробуйте это решение:

  • установить sshuttle (реализует ssh tunnel / proxy, но также реализует некоторые изменения маршрутизации) ( https://github.com/apenwarr/sshuttle.git )
  • настройте sshuttle только на маршрутизацию для IP-адреса окна окна, которое вы хотите достичь:

    sshuttle --dns -r YourUserName@YourSSHBox.com 1.1.1.1/32

    Заменить:

    1.1.1.1/32 с IP-адресом хоста Windows. Если вам нужно получить доступ к нескольким хостам, и они находятся в одной подсети, вы можете просто изменить / 32 на что-то более широкое, скажем, / 24.

  • Запустите RDP-клиент Mac и попытайтесь получить доступ к IP-адресу компьютера с Windows. Возможно, вы можете использовать имя хоста, если вы также пересылаете DNS-запросы на ящик, который вы используете в качестве моста.

Это вариант метода -D3389, но в нем используются функции прокси-сервера socks ssh.


1
Впечатляет ... хорошая работа.
Рускес

Пять лет спустя это лучшее решение этой проблемы.
Хасан

3

Вы пытались отключить требование «Аутентификация на уровне сети» в «Панели управления -> Система -> Разрешить удаленный доступ» на целевом компьютере?

Аутентификация на собственном уровне


Он может соединиться с установкой Windows RDP .. так что, да, он уже сделал это :)
Кенан Сулейман,

1
В версии 2.1.1 добавлена ​​поддержка NLA - см. Macupdate.com/app/mac/8431/microsoft-remote-desktop-connection : проверяет подлинность компьютера под управлением Windows перед установкой подключения к удаленному рабочему столу. Вы можете выбрать этот параметр при подключении к компьютеру под управлением Windows Vista или Windows 7. Аутентификация на уровне сети более безопасна, чем параметры аутентификации в более ранних версиях Windows. Если вы отключите это требование (мы говорим о самом последнем флажке), он сможет войти в систему с клиентом 2.1.0 через туннель SSL.
brablc

Извините, не видел, что вы хотели указать на часть кадра NTLM. Возможно стоит попробовать!
Кенан Сулейман

Я на самом деле не уверен, что NLA связано с NTLM. NLA просто пытается проверить учетные данные, прежде чем предоставить пользователю экран входа в систему. Это устраняет один вектор атаки. Но его Windows находится за брандмауэром, поэтому ему не нужно это учитывать.
Brablc

2

Удаленный рабочий стол Windows реализует больше алгоритмов аутентификации и шифрования, характерных для Windows. Это часто случалось с нами, фактически мы вынуждены использовать удаленный рабочий стол Windows нашими сетевыми администраторами, поскольку мы используем методы аутентификации, которые OSX не реализует. Давайте скрестим пальцы и надеемся, что Microsoft выпустит матч для удаленного рабочего стола класса Windows как можно скорее.


Есть ли у вас какие-либо предложения для меня, чтобы сделать MacRDP не тайм-аут?
Турбьерн Равн Андерсен

Если время ожидания истекло, соединение не может быть установлено вообще. В любом случае, когда Windows преуспевает в соединении, я предполагаю аутентификацию или шифрование! :)
Кенан Сулейман

1

Попробуйте CoRD: введите описание ссылки здесь

Я обнаружил, что он работает лучше, чем официальный RDP-клиент, и имеет тенденцию обрабатывать несовершенные настройки более плавно.


Сейчас я использую CoRD, но у него есть несколько морщин, и я бы лучше использовал официальный клиент.
Турбьёрн Равн Андерсен

1

Кажется, что клиент OSX Microsoft Remote Desktop не поддерживает метод аутентификации по умолчанию, используемый Windows 7+

Решение состоит в том, чтобы сделать следующее на компьютере с Windows:

  • Пуск -> Изменить групповую политику
  • Конфигурация компьютера

    • Административные шаблоны

      • Компоненты Windows

        • Службы удаленных рабочих столов
        • Узел сеансов удаленных рабочих столов

          • Безопасность

            1. Измените «Требовать использования определенных подключений к удаленному рабочему столу (RDP)» на « Включено» и выберите RDP из раскрывающегося списка.

            2. Измените «Требовать аутентификацию пользователя для удаленных подключений с использованием аутентификаций на уровне сети» на Отключено

Теперь вы сможете без проблем подключаться через OSX Remote Desktop Client через туннель SSH.


Я также столкнулся с этой проблемой при попытке создать SSH-туннель к машине с Windows. Он работал нормально, когда делал это с помощью Putty на Windows. Однако создание точно такого же туннеля в OSX через некоторое время просто прекращается. Если бы туннель вообще не был настроен, клиент удаленного рабочего стола сразу же мог бы выйти из строя, поэтому я знал, что он получает какое-то соединение
Иоаким

-1

Иногда просто обновление программного обеспечения решает проблему.

введите описание изображения здесь

В ожидании вашей ОС вы должны убедиться, что у вас установлена ​​правильная версия WRDC.

Поскольку у вас устаревшая версия 2.1.0, вы должны выполнить обновление до одного из следующих. Ver. 2.1.1 от Microsoft или последней вер. 2.1.2. снизу.

http://www.cloud9realtime.com/Guides/Macintosh%20RDP%20Guide.pdf

введите описание изображения здесь

Если обновление программного обеспечения не помогает, и если вы не можете подключиться с помощью IP-адреса, имени хоста или имени компьютера, вероятно, порт 3389 заблокирован где-то в вашей глобальной сети.

Чтобы проверить настройки SSH-туннелирования, попробуйте подключиться к порту локальной сети.


Пожалуйста, добавьте хотя бы ссылку :-) Также: Это только предположение или вы убедились, что оно решает проблему?
nohillside


@patrix У меня нет настроек для проверки, но я читал об этом.
Рускес

1
На данный момент ответ кажется скорее догадкой, чем решением. А загрузка бета-версии программного обеспечения с анонимной учетной записи Dropbox тоже не для слабонервных!
nohillside

1
2.1.1 - бесплатная загрузка для тех, кто хочет этого. Google доставит вас туда, но, по крайней мере, на данный момент эта ссылка показывает доступные загрузки: microsoft.com/en-us/download/…
Tim B

-2

Переадресация на порт 3389 обязательно доставит вам неприятности. Система распознает то, что вы пытаетесь сделать, и в основном сама замкнет цепь. Это недостаток DIY Remote Desktop , имхо.


1
Тогда почему он работает с удаленным рабочим столом Windows, но не с версией удаленного рабочего стола для Mac (тоже от Microsoft)?
Торбьерн Равн Андерсен
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.