Я пытаюсь найти решение, которое я могу использовать для удаленного выполнения команд Windows cmd. Я знаю о PSExec из набора PSTools, который встроен в Windows, но, насколько я понимаю, он предназначен для использования, когда компьютеры находятся в одной локальной сети, а не за ее пределами (если только вы не перенаправляете порты на маршрутизаторе). Перенаправление портов не является вариантом.
Я читал на форумах о потенциальном решении, которое заключается во внедрении сервера посередине, к которому будут подключаться обе машины, и который будет действовать как туннель для передачи команд. Цель здесь — использовать такую настройку, как RDP, просто мне не нужна часть GUI, и я буду управлять удаленной машиной, чтобы проверять, какие приложения открыты, как долго они работают и т. д. Например, как системные администраторы многих машин Windows управляют ими удаленно, находясь за пределами локальной сети?
Заранее спасибо за любые предложения и подсказки!
решение1
Я знаю о PSExec из пакета PSTools, который встроен в Windows, но, насколько я понимаю, он предназначен для использования, когда компьютеры находятся в одной локальной сети, а не за ее пределами (если только вы не перенаправляете порты на маршрутизаторе). Перенаправление портов не является вариантом.
Ну нет, это само по себе не делает его инструментом «LAN».
Нормально, что переадресация портов может потребоваться для входящих соединений, когда пункт назначения находится за NAT — то же самое относится к SSH, HTTP и практически ко всем протоколам, которые в противном случаерегулярноиспользуется через Интернет.
Многие инструменты удаленного доступа следуют той же схеме, когда клиент подключается напрямую к серверу, будь то PSExec, SSH, VNC, RDP, PS-Remoting или Telnet. Некоторые из них используются в Интернете каждый день, но если вы не можете настроить переадресацию портов, вам тоже будет трудно с ними.
(Что на самом деле делает PSExec более ориентированным на локальную сеть, так это то, что он использует службы SMB и MS-RPC в Windows, которые по-прежнему считаютсянебезопасновыкладывать в Интернет – помните «Blaster» и «EternalBlue»?)
Я читал на форумах о потенциальном решении, которое заключается во внедрении сервера посередине, к которому будут подключаться обе машины, и который будет действовать как туннель для передачи команд. Цель здесь — использовать такую настройку, как RDP, просто мне не нужна часть GUI, и я буду управлять удаленной машиной, чтобы проверять, какие приложения открыты, как долго они работают и т. д. Например, как системные администраторы многих машин Windows управляют ими удаленно, находясь за пределами локальной сети?
Почти всегда ответом является какой-либо VPN.
Например, если все устройства находятся в вашей корпоративной локальной сети, но вы работаете из дома, то в корпоративной сети обычно размещается VPN-сервер (с публичным IP-адресом или, по крайней мере, переадресацией портов), к которому можно получить доступ отовсюду. После подключения системный администратор может получить доступ ко всей локальной сети, как если бы она была локальной, что позволяет использовать PSExec/RDP/SSH и другие типичные инструменты управления.
То же самое происходит и в противоположной ситуации — когда устройства разбросаны и находятся за NAT, которые системный администратор не контролирует, тогда эти устройства также могут использовать VPN для подключения.назадк своей «базе», и они становятся доступными, как если бы они находились в той же локальной сети, что и системный администратор.
VPN по своей сути не являются однонаправленными. После того, как туннель установлен, он прекрасно может переносить соединения от сервера к клиентам так же хорошо, как и от клиента к серверу, и, конечно, между клиентами. Поэтому, предполагая, что вы можете настроить VPN-сервергде-то(подойдет даже облачный/VPS-хост), просто настройте автоматическое подключение своих устройств к этому центральному серверу, и вы полностью избежите проблем с NAT и переадресацией портов.
Тем не менее, различные VPNпродуктыварьируются от общих (подходящих для связей типа сайт-сайт) до клиентоориентированных. Очевидно, что для управления устройствами вы ищете что-то, что поддерживает автоматическое подключение (и в идеале учетные данные на основе сертификатов) и работает в режиме разделенного туннелирования по умолчанию. Вы даже можете в конечном итоге использовать два совершенно разных продукта VPN для устройств и для сотрудников/системных администраторов.
(Если устройства — это компьютеры Windows, то OpenVPN илиможет быть(Я бы отдал предпочтение WireGuard, хотя для этой цели я также использовал ZeroTier и Tinc.)