Назад | Перейти на главную страницу

Как лучше всего выполнить удаленную команду в экземпляре EC2 (Windows)?

Я пытаюсь выполнить команду на удаленном экземпляре EC2 (Windows), но не могу подключить удаленный сервер с локального компьютера. Я открыл ICMP для всех портов.

ICMP здесь ничего не сделает.

Обычно вы используете службы терминалов с удаленным рабочим столом для доступа к удаленному серверу Windows с полным графическим интерфейсом (видео, клавиатура и мышь) и доступом к локальным дискам для копирования файлов.

Что позволит вам сделать удаленный рабочий стол, так это сначала получить доступ к вашему серверу, протестировать ваши удаленные скрипты / исполняемые файлы локально (то есть убедиться, что ваши пути верны, ожидаемые выходы и входы работают и т. Д.) .

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

Удаленный рабочий стол использует TCP-порт 3389 для открытия, а также требует, чтобы были включены службы терминалов.

Для безопасного доступа к удаленному серверу Windows используется VPN-соединение / туннель: вы абсолютно НЕ хотите открывать TCP-порты 135 (удаленный вызов процедур) и 445 (служба Microsoft-DS) для Интернета!

Установите безопасное соединение с помощью встроенного в Windows PPTP / L2TP через IPSec или туннеля IPSec, если перед Windows Server установлен аппаратный брандмауэр (и этот брандмауэр поддерживает туннели IPSec). Если вы собираетесь периодически выполнять команды на удаленном сервере с одной машины, будет достаточно PPTP или L2TP через клиентское VPN-соединение IPSec; если вы хотите, чтобы несколько машин регулярно получали доступ к этому удаленному серверу Windows, возможно, имеет смысл использовать туннель IPSec между сайтами.

После того, как вы установили безопасное соединение с вашим сервером (и я бы также хотел ограничить общедоступный IP-доступ с помощью фильтра пакетов либо в отдельном аппаратном брандмауэре, либо, по крайней мере, с помощью брандмауэра Windows), теперь вы можете использовать что-то вроде psexec (или, если родной, возможно, PowerShell) для выполнения вашей встроенной команды или утилиты сценария / командной строки, которую вы хотите запускать удаленно.

Установите SSH-сервер на свой Windows-сервер. WinSSHD - недорогой, но хороший SSH-сервер для Windows. Если вы хотите пойти бесплатно, то мне нравится CopSSH, который представляет собой пакет OpenSSH для Windows.

После установки SSH-сервера вы можете запускать инструменты командной строки через SSH-клиент, например Putty. Или вы можете туннелировать RDP через SSH для удаленного рабочего стола. Инструкции по туннелированию rdp с использованием CopSSH и WinSSHD можно найти Вот и Вот.

А как насчет того, чтобы запустить простой веб-сайт на e. грамм. порт 1234? Вы можете сделать так, чтобы код aspx легко выполнял команду:

https://stackoverflow.com/questions/247668/running-command-line-from-an-aspx-page-and-returning-output-to-page