Как заставить сервер удаленного рабочего стола (RDP) автоматически подключаться по SSH к подключающемуся клиенту?

Как заставить сервер удаленного рабочего стола (RDP) автоматически подключаться по SSH к подключающемуся клиенту?

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

Как я сейчас вручную справляюсь с этим:

  1. Я вхожу на RDP-сервер и запускаю следующую команду, которая поможет мне найти правильный IP-адрес:

    netstat -a | find "3389" | find "ESTABLISHED"

    Это выдает строку, содержащую данные о подключении для rdp-подключения моего компьютера. Этот IP-адрес — IP-адрес, через который сервер сможет направить обратно на мой компьютер.

  2. Я вручную открываю PuTTY и открываю существующий сеанс, правильно настроенный с использованием имени пользователя и ключа, соответствующим образом меняю IP-адрес и нажимаю «Подключиться».

На этом этапе на моем клиентском компьютере я могу получить доступ к некоторым ресурсам через переадресацию порта SSH.

Я хотел бы найти способ автоматизировать это. Клиент удаленного рабочего стола Microsoft может запускать программу при подключении. Я не знаю, какую программу или комбинацию программ запускать.

решение1

Plink — это помощник по подключению к командной строке для Putty. Используя Plink, вы можете избежать ручных операций, которые вы выполняете на шаге 2

Я вручную открываю PuTTY и открываю существующий сеанс, правильно настроенный с использованием имени пользователя и ключа, соответствующим образом меняю IP-адрес и нажимаю «Подключиться».

Для аргументов Плинку я бы предложил ещетрубопроводIP-адрес, который вы правильно получили с помощью netstat и find.

Итак, в конечном итоге команда может выглядеть так:

netstat -a | найти "3389" | найти "ESTABLISHED" > | plink -ssh

Не забудьте указать, что plink должен использовать SSH, как в приведенной выше команде, или, что еще лучше, установить переменную среды Windows.PLINK_ПРОТОКОЛксш.

Также убедитесь, что путь к исполняемому файлу plink указан в переменной среды PATH.

Связанный контент